2011-04-18 53 views
0

我有世界上所有时区的列表。我的目标是根据用户或客户端选择的时区显示日期和时间。基于选定时区的更改日期显示格式

i.e. in the US we list DD/MM/YY. In India they use MM/DD/YY. 

我该如何做到这一点?有没有可能根据所选时区更改日期格式?

请提供任何建议或样本编码来实现这一....

我想知道是否日期的格式可以根据选择的时区改变?

+2

只是一个侧面说明,是不是相反?美国似乎是唯一使用“MM/DD/YY”符号的国家。 http://en.wikipedia.org/wiki/Date_notation_by_country – 2011-04-18 08:04:03

+1

重新提出同样的问题在这里是不可接受的行为。如果你想引起人们对你的问题的关注,那么两天后你将被允许[放置赏金](http://stackoverflow.com/faq#bounty)。您也可以[编辑您的问题](http://stackoverflow.com/posts/5700049/edit)添加其他信息,这可能会使您的问题更易于理解和回答。 – Will 2011-04-20 14:52:38

回答

0

这取决于活跃的文化。第一个选择是将文化转换为您想要的文化,然后打印日期。

public static void Set(string culture) 
{ 
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture); 
} 
+0

谁是如此有趣的downvote一个可以接受的答案,没有评论什么应该改进? – wegginho 2011-06-07 07:51:31

1

因为对客户方来实现这一目标没办法,我的建议是选择在客户方的时区,使一个AJAX请求到服务器,生成服务器端的时区(如果可能的话),并显示它在浏览器中。

+0

我相信OP在询问如何“呈现”日期。 – 2011-04-19 10:19:16

0

有几次有助于了解用户计算机为日期和月格式指定的“哪种”格式。

您可以一次确定这一点,并用它来安排你的投入和sidplay值everywhere-

Date.ddmm= (function(){ 
    return Date.parse('2/6/2009')> Date.parse('6/2/2009'); 
})(), 

//如果格式是DD-MM-YYYY返回true,否则为false

1

使用Date.toLocaleDateString()方法。它将日期转换成最终用户的系统设置确定的格式:

var d = new Date("20/10/2000"); 
d.toLocaleDateString(); 

需要注意的重要一点是,用户必须有他/她的计算机上设置正确的区域设置。许多人不打扰他们改变它们,而是在安装操作系统时选择默认(en-us)。