meizz的专栏

梅花雪·疏影横斜

原创 DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16收藏

新一篇: scrollTOP scrollLeft clientHeight clientWidth 的各浏览器版修正

    今天我在使用 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);

发表于 @ 2006年03月17日 09:31:00|评论(loading...)|编辑

旧一篇: Maxthon1.3.3版里一个令人哭笑不得的事

评论

#wangzw 发表于2006-03-28 12:59:00  IP: 58.100.50.*
You can try this format "yyyy'/'MM'/'dd",Beacuse the string /M and /d will direct to the other meaning.
#Henrry_yuan 发表于2006-11-22 08:30:00  IP: 210.74.190.*
Just try DateTime.Now.ToString(@"yyyy\/MM\/dd");
#leizhipan 发表于2007-01-12 09:43:54  IP: 59.40.30.*
来自msdn
下表阐释通过对特定的日期和时间应用一些自定义 DateTime 格式字符串所创建的输出。输出是使用 ToString 方法生成的。

“格式说明符”列指示格式字符串,“当前区域性”列指示与当前线程关联的区域性,“时区”列指示格式化时有效的时区,“输出”列指示格式化结果。

不同的区域性和时区的值说明了更改当前区域性的影响。可以用以下方法更改区域性:使用 Microsoft Windows 的“日期/时间”控制面板,将您自己的 DateTimeFormatInfo 作为格式提供程序传递,或者传递设置为另一种区域性的 CultureInfo。

格式说明符 当前区域性 时区 输出
d, M
en-US
GMT
12, 4

d, M
es-MX
GMT
12, 4

d MMMM
en-US
GMT
12 April

d MMMM
es-MX
GMT
12 Abril

dddd MMMM yy gg
en-US
GMT
Thursday April 01 A.D.

dddd MMMM yy gg
es-MX
GMT
Jueves Abril 01 DC

h , m: s
en-US
GMT
6 , 13: 12

hh,mm:ss
en-US
GMT
06,13:12

HH-mm-ss-tt
en-US
GMT
06-13-12-AM

hh:mm, G\MT z
en-US
GMT
05:13 GMT +0

hh:mm, G\MT z
en-US
GMT +10:00
05:13 GMT +10

hh:mm, G\MT zzz
en-US
GMT
05:13 GMT +00:00

hh:mm, G\MT zzz
en-US
GMT –9:00
05:13 GMT -09:00


请注意,在某些语言(如 C#)中,“\”字符在与 ToString 方法共用时,它前面必须有转义符。
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © meizz