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

 

posted @   hao_1234_1234  阅读(744)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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工具
点击右上角即可分享
微信分享提示