DateTime显示日期为01/01/0001
本文关键字:0001 显示 日期 DateTime | 更新日期: 2023-09-27 18:15:05
抱歉,如果这似乎是一个愚蠢的问题,但我找不到答案,我是一个新手。DateTime显示为我推测的最小日期。例如:
DateTime updatedDate = new DateTime();
outItem.AddDate = updatedDate.ToLongDateString();
输出到January 01, 0001。我已经尝试了很多类似的结果。我做错了什么?
这取决于你对"错误"的定义。new DateTime()
确实和DateTime.MinValue
有相同的值。如果你想要当前时间,你应该使用:
DateTime updatedDate = DateTime.Now;
或
DateTime updatedDate = DateTime.UtcNow;
(第一个给你本地时间,第二个给你通用时间。当涉及到本地/普遍划分时,DateTime
有些混乱。
如果您希望获得当前日期,请使用DateTime.Now
。您正在创建date类的新实例,最小值是它的默认值。
DateTime updatedDate = DateTime.Now;
outItem.AddDate = updatedDate.ToLongDateString();
编辑:实际上,你可以通过这样做来缩短你的代码:
outItem.AddDate = DateTime.Now.ToLongDateString();
Jon Skeet说得对,我还有一些要补充的
"错误"取决于你想在什么时间到达。
DateTime是一个结构体,是结构体的默认构造函数。总是将所有字段初始化为数值类型的零和null
为引用类型。
所以如果你想获得当前的本地日期和时间,你可以调用静态属性DateTime.Now
var curDateTime = DateTime.Now;
如果你想获得UTC时间。
var utcDateTime = DateTime.UtcNow;
注意:DateTime。UtcNow获取当前日期和时间,但不使用本地时区,而是使用UTC时间。
你可以参考下面的链接。
http://blackrabbitcoder.net/archive/2010/11/18/c.net-little-wonders-datetime-is-packed-with-goodies.aspx