2011-04-18 91 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)。