我面临一个非常奇怪的问题。我正在写入这样的 CSV 文件:
sw.WriteLine($"{posting.publishedOn},{posting.ExpirationDate}");
Posting Date 是一个DateTime
对象,Expiration Date 是一个DateTime?
对象。
但是,当我在德国的生产服务器上运行它时,它打印出的日期格式非常不一致。有时我会有这样的日期格式(欧洲风格):
Posting Date,Expiration Date
06.08.2018 11:49,08.07.2018 11:49
有时我会有这样的日期格式(美国风格):
Posting Date,Expiration Date
8/15/2018 7:56:12 AM,10/14/2018 7:56:12 AM
Posting Date 和 Expiration Date 是完全独立的 .NET 对象,但每一行都是一致的 - 即,如果一列是欧洲格式,另一列也是如此。
我尝试像这样设置文化:
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
但这似乎没有什么不同。
当我在德国的服务器上运行控制台应用程序时会发生这种情况。
这可能是什么原因造成的?有没有一种方法可以解决它,而不必在ToString
每次写日期时都使用格式显式调用?