如何在没有时间的情况下保存日期时间?

无论时间是什么时候,我如何保存日期时间,没有时间或最好带有12:00的时间戳?

我不想使用.ToString("dd/MM/yyyy"); ,因为它会打开很多新的可能错误。

DateTime结构有一个Date属性,可以满足您的需求:

 DateTime dateOnly = dateTime.Date; 

当然,它仍然不可避免地包含一个时间部分,但你应该能够忽略它。

正如其他海报所说

 DateTime.Now.Date 

是要走的路。 但是,还有必要考虑是否要删除时区信息以防止在客户端\服务器计算机上的不同TZ上发生问题。

您可以使用

 var dateTime = new DateTime(DateTime.Now.Date.Ticks, DateTimeKind.Unspecified); 

使用

  DateTime.Now.Date 

或者为myDate:

  myDate.Date 

如果你有约会

 DateTime anyDate = DateTime.Now; DateTime dateAtNoon = anyDate.Date.AddHours(12); 

或者如果你今天想要,你可以使用快捷方式

 DateTime dateAtNoon = DateTime.Today.AddHours(12); 

这将通过优先于ts.Date来实现

 var ts = DateTime.Now; var dateAtMidnight = ts.Date; var dateAtNoon = ts.Date.AddHours(12); 

看看这个http://msdn.microsoft.com/en-us/library/system.datetime.today.aspx

如果您想要当前日期,则可读性稍高一些:

 DateTime.Today 

但对于特定的DateTime实例,则:

 myDateTime.Date