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时指定忽略本地格式配置就可。

posted @ 2014-09-25 16:48  bibibabibobi  阅读(190)  评论(0编辑  收藏  举报