DateTime显示日期为01/01/0001

本文关键字:0001 显示 日期 DateTime | 更新日期: 2023-09-27 18:15:05

抱歉,如果这似乎是一个愚蠢的问题,但我找不到答案,我是一个新手。DateTime显示为我推测的最小日期。例如:

DateTime updatedDate = new DateTime();
outItem.AddDate = updatedDate.ToLongDateString();

输出到January 01, 0001。我已经尝试了很多类似的结果。我做错了什么?

DateTime显示日期为01/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