我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。
06/26/2009 00:00:00:000
我不能使用任何字符串转换方法,因为我需要对象形式的日期。
我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。
我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。
06/26/2009 00:00:00:000
我不能使用任何字符串转换方法,因为我需要对象形式的日期。
我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。
当前回答
如果您要将其转换为字符串,您可以轻松地像这样做。
我将date作为DateTime对象。
date.ToString("d");
这只会给你日期。
其他回答
您可以使用像https://www.nuget.org/packages/Date/这样的Date库 使用Date值,将它们转换为DateTimes,等等。
免责声明我是上述软件包的作者。
使用date. toshortdatestring()获取没有时间组件的日期
var date = DateTime.Now
var shortDate = date.ToShortDateString() //will give you 16/01/2019
使用date. tostring()自定义日期格式
var date = DateTime.Now
var shortDate = date.ToString('dd-MMM-yyyy') //will give you 16-Jan-2019
你不能。. net中的DateTime总是有一个时间,默认为00:00:00:000。DateTime的Date属性也是DateTime(!),因此时间默认为00:00:00:000。
这是. net框架的不足之处,可以认为。net中的DateTime违反了单一责任原则。
使用Date属性:
var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;
date变量将包含日期,时间部分将是00:00:00。
这适用于c# 10及以上版本,现在只有DateOnly和TimeOnly格式可用。使用下面的格式,您可以从DateTime格式中提取DateOnly。
DateOnly myDateNoTime = DateOnly.FromDateTime(DateTime.Now);