我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。
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对象。
当前回答
你不能。. net中的DateTime总是有一个时间,默认为00:00:00:000。DateTime的Date属性也是DateTime(!),因此时间默认为00:00:00:000。
这是. net框架的不足之处,可以认为。net中的DateTime违反了单一责任原则。
其他回答
您可以使用格式字符串为输出字符串提供您喜欢的格式。
DateTime dateAndTime = DateTime.Now;
Console.WriteLine(dateAndTime.ToString("dd/MM/yyyy")); // Will give you smth like 25/05/2011
阅读有关自定义日期和时间格式字符串的详细信息。
在我的经验中,上述解决方案都不起作用,可能是因为我想从数据库中提取的日期中删除时间,但下面的代码工作得很好:
var date = target_date.Value.ToString("dd/MM/yyyy");
DateTime。日期
var newDate = DateTime.Now; //newDate.Date property is date portion of DateTime
试试这个,如果你使用DateTimeOffset,它也会照顾时区
date1 = date1.LocalDateTime.Date;
如果你需要增加工作时间,可以这样做:
date1 = date1.LocalDateTime.Date;
date1 = date1.AddHours(23).AddMinutes(59).AddSeconds(59);
试着创造你自己的结构。DateTime对象将同时具有日期和时间