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

很早之前就遇到过这个问题,相信很多同学也曾为这个问题苦恼过N久。问题是这样的:
DateTime.Today.ToString("yyyy-MM-dd")  --> "2011-06-14"
DateTime.Today.ToString("yyyy/MM/dd")  --> "
2011-06-14"
神奇吧?YK曾经为了这个问题苦恼过N久,最后只得Give Up,使用土方法曲线救国式的解决:
DateTime.Today.ToString("yyyy-MM-dd").Replace("-", "/")
今天,终于知道这个问题解决的正确方法:
DateTime.Today.ToString("yyyy/MM/dd", System.Globalization.DateTimeFormatInfo.InvariantInfo) -->"2011/06/14"
原来,系统会在ToString()时,自动读取本地计算机地区(域)等配置信息,在中文操作系统中,通常“控制面板”-->“区域及语言选项”-->“区域选项”-->“标准和格式”中的短时间,这也就是时间格式化那个“怪事”发生的原因了。只需要在ToString时指定忽略本地格式配置就可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值