C#DateTime,这个方法区域设置安全吗?

时间:2010-04-21 10:51:04

标签: c# datetime

我使用以下方法将日期序列化为字符串

private const string DateFormatString = "dd.MM.yyyy HH:mm:ss";
string LastsuccessfuldownloadDateTime = DateTime.Now.AddDays(-91).ToString(DateFormatString);

这是确保字符串始终以此格式序列化的最安全方法吗?

在一台服务器上更新我运行它完全让字段错误。

2 个答案:

答案 0 :(得分:9)

我会使用显式不变量进行序列化以避免任何意外的陷阱。您可能还想想是否需要UTC;例如:

string LastsuccessfuldownloadDateTime = DateTime.UtcNow.AddDays(-91).ToString(
    DateFormatString, CultureInfo.InvariantCulture);

答案 1 :(得分:0)

我认为你应该根据你的区域设置改变你的程序文化。然后在不同的区域设置计算机上的每一件事都能正常工作。

例如,如果您的区域设置符合美国,并且您希望在具有英国设置的计算机上运行您的程序。

然后将程序的CurrentCulture更改为美国

Thread.CurrentThread.CurrentCulture = new CultureInfo(“en-US”);