DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16(转)
参考:http://blog.csdn.net/meizz/article/details/626932
今天我在使用 DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16 而不是我想要的 2006/03/16,都快把我郁闷的不行了。后来用了一个方法解决:DateTime.Now.ToString("yyyy/MM/dd").Replace("-", "/"),这种方法虽然可以解决问题(后面证明这个方法并不太管用),但感觉总是很别扭,后来请教了韩磊老大,恰巧他也遇到过同样的问题,原因就是在 ToString() 的时候这个方法是直接以系统的日期格式设置输出的,所以这里会出现这种莫名基妙的错误,解决的办法就是启用 DateTime.ToString() 的第二个参数,忽略系统时间格式设置:
DateTime.Now.ToString("yyyy/MM/dd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
另外会碰到的问题是:在自己的电脑操作系统Win7上DateTime.Now.ToString("yyyy/MM/dd")的输出是2006/03/16,但是到时Server 2008上就变成了2006-03-16,解决办法有三种:
1. DateTime.Now.ToString("yyyy/MM/dd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
2. DateTime.Now.ToString("yyyy-MM-dd");
3.string folder = DateTime.Now.ToString("yyyy\\/MM\\/dd");到哪个平台都一样,不会变"2010-7-23".

浙公网安备 33010602011771号