2010-06-25 65 views
2

爲什麼Chrome在使用date.toLocaleString()顯示日期時未指定AM或PM?我得到的字符串是Fri Jun 25 2010 11:21:09 GMT+1000。雖然IE返回幾乎相同的字符串,但在AM之後。Chrome,javascript日期和toLocaleString()

是否有在Date對象的任何方法,我可以打電話來檢查它是否是AMPM,更重要的是,檢查是否用戶的語言環境使用12小時週期或24小時?

更新。發現此錯誤http://code.google.com/p/v8/issues/detail?id=135。這是非常古老的,我希望它會有更新。

+0

錯誤報告在[問題180]中繼續(http://code.google.com/p/v8/issues/detail?id=180)。 – 2010-06-25 01:45:51

回答

1

getHours返回023之間的值,因此您可以輕鬆確定是在中午之前還是之後。

但是,我不知道任何方法來獲得一種通用的語言環境字符串。這完全取決於瀏覽器:

字符串的內容是 依賴於實現的,但 意在表示對應 方便, 人類可讀的形式在 當前時區的日期到主機 環境的當前語言環境的約定。 - ECMAScript 5,第15.9.5.5

相反,你可以或多或少test the user's language setting,並建立自己的字符串。

+0

語言設置不是首選日期格式的可靠指標。最好只使用明確的格式。 ;-) – RobG 2016-05-18 23:28:24