Nullable<System.DateTime>日期格式转换 (转载)
2018-04-16 17:44
369 查看
一、问题
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;
}
三、完整案例
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; }
//自定义视图数据类 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; } }
//数据实体类 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
相关文章推荐
- Nullable<System.DateTime>型的日期字段转格式化日期格式的问题
- Nullable<DateTime> DateTime? 格式转换问题 tostring()
- System.Nullable<System.DateTime>”不包含“Year”的定义
- 工作总结 无法确定条件表达式的类型,因为“<null>”和“System.DateTime”之间没有隐式转换 解决办法 object——Nullable<T> (可空类型)
- EF实体查询出的数据List<T>转DataTable出现【DataSet 不支持 System.Nullable<>】的问题
- 【数据处理】时间格式转换, 系统日期+时间 < -- > DEC格式时间
- SQL取系统的当前日期 <转载>
- 类型“string”必须是不可为 null 的值类型才能用作泛型类型或方法“System.Nullable<T>”中的参数“T”
- SQL取系统的当前日期 <转载>
- databindings 绑定Nullable<DateTime>
- struts2中使用日期控件<s:datetimepicker />
- System.Nullable<T> int?
- 在SystemOut.log中发现HMGR0152W: 检测到CPU 饥饿的消息 <转载>
- 类型“string”必须是不可以为 null 值的类型才能用作泛型类型或方法“System.Nullable<T>”中的参数“T”
- System.Nullable<T> int? 数据库中的int类型可以为空 在C# 中 的处理
- 无法确定条件表达式的类型,因为“<null>”和“System.DateTime”之间没有隐式转换 解决办法
- System.Nullable<T> 的简单理解
- 字符串转换为日期类型(<class 'datetime.datetime'>),并且做计算
- System.ArgumentException: 回发或回调参数无效。在配置中使用 < pages enableEventValidation="true"/>
- 【More Effective C#】掩藏在Nullable<T>后的秘密