DateTime.Today给出错误的01/01/2000值

时间:2015-06-10 19:11:20

标签: c# datetime

不确定如何或为何,但在C#中使用DateTime.Today会向我返回日期值01/01/2000。有什么想法吗?

代码:

DateTime thisDay = DateTime.Today;
Console.Writeline()上的

thisDay.ToString()显示"01/01/2000 00:00:00"

系统时钟显示正确的日期,2015年6月10日。

2 个答案:

答案 0 :(得分:1)

当前文化的日期和时间格式设置可能已在代码中的其他位置或通过配置进行了修改。

例如:

5000  true
660
5000 true
604

上述代码将始终打印var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone(); culture.DateTimeFormat.ShortDatePattern = "01/01/2000"; Thread.CurrentThread.CurrentCulture = culture; Console.WriteLine(DateTime.Today); 日期,因为日期设置应使用格式说明符,例如"01/01/2000"而不是数字。

答案 1 :(得分:0)

感谢大家的投入。我已经确定了我痛苦的根源。它是运行此代码的Intermec PM43打印机。我构建代码,将.exe发送到打印机,然后在那里运行。所以我查找了打印机上系统设置的配置,果然,它的日期是2000年1月1日。所以我正在设置当前日期并让打印机有希望记住它。

我的提示是当我删除所有Intermec特定代码时,只是在调试模式下运行计算机上的代码。 DateTime.Today返回了正确的日期,它击中了我:它取决于代码运行的位置。我的坏,谢谢大家。