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

时间:2010-11-30 11:02:37

标签: c# datetime

如果没有时间,或者最好是时间戳为12:00,我将如何保存日期时间,无论当时是什么时候?

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

6 个答案:

答案 0 :(得分:16)

DateTime struct具有Date属性,可满足您的需求:

DateTime dateOnly = dateTime.Date;

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

答案 1 :(得分:2)

正如其他海报所说的那样

DateTime.Now.Date 

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

您可以使用

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

答案 2 :(得分:1)

使用

 DateTime.Now.Date

或myDate:

 myDate.Date

答案 3 :(得分:1)

如果您有任何日期

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

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

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

答案 4 :(得分:1)

这样做会优先于ts.Date

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

答案 5 :(得分:1)

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

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

DateTime.Today

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

myDateTime.Date