不确定如何或为什么,但是在c#中使用DateTime.Today
返回给我01/01/2000
的日期值。什么好主意吗?
DateTime thisDay = DateTime.Today;
Console.Writeline()
对thisDay.ToString()
显示"01/01/2000 00:00:00"
。
系统时钟显示正确日期为2015年6月10日。
很可能当前区域性的日期和时间格式设置已经在代码的其他地方或通过配置被修改了。
例如:var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.ShortDatePattern = "01/01/2000";
Thread.CurrentThread.CurrentCulture = culture;
Console.WriteLine(DateTime.Today);
以上代码将始终为日期打印"01/01/2000"
,因为日期设置应该使用格式说明符,例如"MM/dd/yyyy"
而不是数字。
感谢大家的投入。我已经确定了我痛苦的根源。这段代码是从Intermec PM43打印机运行的。我编写代码,把。exe文件发送到打印机,它就在那里运行了。所以我在打印机上查找了系统设置的配置,果然,它的日期是2000年1月1日。所以我正在努力设置当前日期,希望打印机能记住它。
给我的提示是当我删除所有的intermec特定的代码,只是在调试模式下在计算机上运行代码。DateTime。今天返回了正确的日期,它击中了我:这取决于代码运行的位置。我的错,谢谢大家。