胖人小屋

 

关于日期显示格式字符串的一点理解

今天有网友在q群上贴了如下一段代码:

string s = Calendar1.TodaysDate.ToString("d");

想得到"MM/dd/yyyy"的显示方式,可是总是显示成"04-01-2006",而不是想要的"04/01/2006"。

一开始我也想当然的认为"MM/dd/yyyy" (自定义格式字符串) 或者用"d"
(标准格式字符串)来完成,但是经过实验,发现总是显示"04-01-2006"。后来查了帮助,对这个问题有了下面的一些认识:

1、标准格式字符串的显示是与程序运行机器上的本地区域有关的,即与CultrueInfo相关。比如你的机器上的本地区域设置里,设置日期之间的间隔符是"-",那么你通过上述代码显示的总是"-",除非你修改了本地区域的设置。

2、上述代码默认的美国英语的显示方式是"04/01/2006",中文的显示方式是"04-01-2006",德语的显示方式是"04.01.2006"。

3、如果不通过修改本地区域的设置,而想实现"04/01/2006"的显示方式,则应该使用自定义格式字符串,上面的代码可以写成下面这样:

string s = Calendar1.TodaysDate.ToString("MM'/'dd'/'yyyy");

其中两个单引号括着的是任意字符串,在显示时都会直接显示。

呵呵,上述理解还比较肤浅。

posted on 2006-04-05 14:03  屋小人胖  阅读(532)  评论(1编辑  收藏  举报

导航