代码之家  ›  专栏  ›  技术社区  ›  JL. Hans Passant

C日期时间,这种方法区域设置安全吗?

  •  6
  • JL. Hans Passant  · 技术社区  · 14 年前

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

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

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

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

    2 回复  |  直到 13 年前
        1
  •  9
  •   Marc Gravell    14 年前

    我将使用显式不变量进行序列化,以避免任何意外的问题。您可能还需要考虑是否需要UTC;例如:

    string LastsuccessfuldownloadDateTime = DateTime.UtcNow.AddDays(-91).ToString(
        DateFormatString, CultureInfo.InvariantCulture);
    
        2
  •  0
  •   Zain Ali    13 年前

    我认为你应该根据你的地区设置来改变你的节目文化,然后在不同的地区设置计算机上的每件事都会正常工作。

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

    然后把你的节目文化改成美国的。

    thread.currentThread.currentCulture=新文化信息(“en-US”);