首页 > 代码库 > DateTime.Now.ToString("yyyy-MM-dd")变成"2011/06/14"的解决方法

DateTime.Now.ToString("yyyy-MM-dd")变成"2011/06/14"的解决方法

正常情况下:
DateTime.Now.ToString("yyyy-MM-dd")  --> "2011-06-14"
非正常情况下:
DateTime.Now.ToString("yyyy-MM-dd")  --> "2011/06/14"

问题解决的正确方法:
DateTime.Now.ToString("yyyy-MM-dd", System.Globalization.DateTimeFormatInfo.InvariantInfo) -->"2011-06-14"
原来,系统会在ToString()时,自动读取本地计算机地区(域)等配置信息,在中文操作系统中,
通常“控制面板”-->“区域及语言选项”-->“区域选项”-->“标准和格式”中的短时间,这也就是时间格式化那个“怪事”发生的原因了。只需要在ToString时指定忽略本地格式配置就可。

DateTime.Now.ToString("yyyy-MM-dd")变成"2011/06/14"的解决方法