如何阅读电脑';s的日期时间格式,并适当地更改代码

本文关键字:代码 格式 时间 电脑 何阅读 日期 | 更新日期: 2023-09-27 18:26:39

我有一些代码,它从今天的日期中减去用户指定的天数,并写出一些内容。我们使用的是dd-mm-yyyy格式。在测试过程中,在具有mm-dd-yyyy格式的机器上,它子计算的是月而不是天。看起来像这样:

DateTime Date1 = DateTime.Now.Subtract(new TimeSpan(days, 0, 0, 0));

我们如何读取计算机的日期时间格式,如果格式与我们的不同,我们如何修改减法。

谢谢。

如何阅读电脑';s的日期时间格式,并适当地更改代码

你不能只做:

DateTime myDate = DateTime.Now.AddDays(-1);

这段代码展示了如何获得正在运行的机器的格式,并希望表明在操作日期时不需要担心它,只需要在输出日期时就可以了。

而且。。。http://xkcd.com/1179/

int days = 1;
DateTime n = DateTime.Now;
Console.WriteLine( "Now using a fixed known format for tests");
Console.WriteLine( "{0:yyyy MM dd}" , n);
Console.WriteLine();
DateTime Date1 = n.Subtract(new TimeSpan(days, 0, 0, 0));
Date1.Dump();

DateTimeFormatInfo dtfi = CultureInfo.CurrentUICulture.DateTimeFormat;
Console.WriteLine("machines short date pattern");
Console.WriteLine( dtfi.ShortDatePattern );
Console.WriteLine("{0:d}" , Date1);
Console.WriteLine();
Console.WriteLine("machines long date pattern");
Console.WriteLine( dtfi.LongDatePattern );
Console.WriteLine("{0:D}" , Date1);

我的机器上的输出:

Now using a fixed known format for tests
2013 08 07

06/08/2013 10:05:06
machines short date pattern
M/d/yyyy
06/08/2013
machines long date pattern
dddd, MMMM dd, yyyy
06 August 2013