Nullable<System.DateTime>日期格式转换 (转载)
一、问题
1、html页面中时间显示出错,数据库中时间是正确的。
原因:没有把DateTime转成String类型。
2、 在C#中,发现不能直接使用ToString("yyyy-MM-dd HH:mm")这样的格式进行日期格式转换。
原因:在DB中,字段设置为Nullable<System.DateTime>,是可空的DateTime类型。
二、解决方案
if (user.BirthDate.HasValue)
{
userInfo.BirthDate = user.BirthDate.Value.ToString("yyyy-MM-dd");
}else
{
userInfo.BirthDate = string.Empty;
}
三、完整案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public UserInfo GetUserNoPasswordByUserName( string userName) { var user= db.T_User.Select(d => new { Address = d.Address, BirthDate = d.BirthDate, Company = d.Company, Phone = d.Phone, RealName = d.RealName, TelPhone = d.TelPhone, TypeID = d.TypeID, UserID = d.UserID, UserName = d.UserName, UserStatus = d.UserStatus }).Where(d => d.UserName == userName).SingleOrDefault(); UserInfo userInfo = new UserInfo(); userInfo.Address = user.Address; if (user.BirthDate.HasValue) { userInfo.BirthDate = user.BirthDate.Value.ToString( "yyyy-MM-dd" ); } else { userInfo.BirthDate = string .Empty; } userInfo.Company = user.Company; userInfo.Phone = user.Phone; userInfo.RealName = user.RealName; userInfo.TelPhone = user.TelPhone; userInfo.TypeID = user.TypeID; userInfo.UserID = user.UserID; userInfo.UserName = user.UserName; userInfo.UserStatus = user.UserStatus; return userInfo; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //自定义视图数据类 public class UserInfo { public int UserID { get ; set ; } public string UserName { get ; set ; } public Nullable< short > TypeID { get ; set ; } public short UserStatus { get ; set ; } // public string Password { get; set; } public string RealName { get ; set ; } public string Company { get ; set ; } public string BirthDate { get ; set ; } public string Phone { get ; set ; } public string TelPhone { get ; set ; } public string Address { get ; set ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | //数据实体类 public partial class T_User { public int UserID { get ; set ; } public string UserName { get ; set ; } public Nullable< short > TypeID { get ; set ; } public short UserStatus { get ; set ; } public string Password { get ; set ; } public string RealName { get ; set ; } public string Company { get ; set ; } public Nullable<System.DateTime> BirthDate { get ; set ; } public string Phone { get ; set ; } public string TelPhone { get ; set ; } public string Address { get ; set ; } } |
转载来源:https://blog.csdn.net/baidu_34331194/article/details/68944906
树立目标,保持活力,gogogo!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具