2012-06-26 40 views
1

我在我的項目中需要在客戶端數據中顯示日期。我知道屬性javascript window.navigator.userLanguagewindow.navigator.language ..但它只返回客戶端機器的語言,如'en-US','en-GB'等。識別客戶端機器中的日期格式

如果用戶爲例如:-dd-MMM-yyyy自定義機器的日期格式,有什麼方法可以在Javascript中獲得該格式?

在此先感謝

suhaib

+1

不是我所知道的。系統以JavaScript的內部格式向用戶展示基礎日期/時間,而不是用戶可能選擇的格式作爲首選項。另外,確定語言/區域設置是跨瀏覽器的問題。例如,Opera在'navigator'對象的各種屬性中暴露了'en'(英文)標誌不少於3次,但不是一次'en-GB'。 – Utkanos

+0

感謝您的信息。你有什麼替代方法建議?在Asp.net中? – Suhaib

+1

服務器端語言從服務器獲取時間,而不是客戶端機器,所以我不會認爲這對你來說是一個很好的途徑。服務器端語言(如果瀏覽器允許的話)可以訪問瀏覽器發送的各種頭文件(瀏覽器名稱,版本等),但這不會給你任何不同的信息(我會假設)從你在導航器中得到的信息對象。 – Utkanos

回答

1

可以使用.toLocaleDateString() method

var yourDate = new Date(); 
alert(yourDate.toLocaleDateString()); 

這不會告訴你的代碼用戶選擇的日期格式是什麼,但它可以讓你顯示一個無論用戶的格式是什麼日期。

在我的電腦上提醒「2012年6月26日,星期二」。

.toLocaleTimeString() method在當時做同樣的事情。

.toLocaleString() method顯示日期時間。

+0

但是,如果用戶定製他的機器的日期格式,這些方法不會工作。它仍然會返回舊值。 – Suhaib

+1

它將在瀏覽器重新啓動後。 – Basilevs