今天发现了这个:
DateTime myDateTime = Convert.ToDateTime("1972-12-12 12:12:12");
Debug.WriteLine(myDateTime); // shows '12/12/1972 12:12:12'
String myString = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
Debug.WriteLine(myString ); // shows '1972.12.12 00:00:00'
几分钟过去了?为什么?
您使用的是Date
属性,它截断了此处的时间部分:
String myString = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
因此,这给出了所需的结果:
String myString = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
MSDN:
与此实例具有相同日期和时间值的新对象设置为午夜12:00:00(00:00:00)。
试试这个
myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
如果要将DateTime
实例与任何其他日期进行比较,例如检查是否为myDateTimeInstance == DateTime.Today
,则需要消除DateTime
实例的时间部分。
这就是myDateTimeInstance.Date
的目的:只返回日期,这样就可以在忽略时间的情况下使用它。
问题是您只得到DateTime
的Date
部分。如果您想要更改所需的值
String myString = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
至
String myString = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");