2016-07-15 93 views
2

我正在開發具有react/redux的應用程序,並且我開始使用庫react-intl來格式化消息和日期。如何獲得javascript中所有時區的列表

我已經能夠在<FormattedDate>標籤中顯示它使用的是什麼時區。

我想在選擇所有可能的時區存在,所以當用戶選擇一個時區時,<FormattedDate>自動更改爲該格式。

我不知道如何用react-intl列出所有可能的時區。

我也在谷歌搜索,我沒有找到任何內置的JavaScript函數,這樣做。

是這樣嗎?我如何獲得該列表?

感謝

注意:不要認爲它的同樣的問題,因爲我不希望使用外部庫,如果可能的話,如果它的唯一的解決辦法,然後我將不得不處理這樣... :/

+0

可能重複[如何使用moment.js庫獲取時區列表?](http://stackoverflow.com/questions/21348404/how-do-i-get-timezones-list-using-moment-js -library) –

+0

我在google上也發現了這個庫,但是我想這樣做沒有更多的庫,只能相信它沒有在javascript中實現:/ – Mayday

+0

相信它。 JavaScript中的時區歷史並不長,但最近有一些改進,但我們仍有很長的路要走。 –

回答

1

react-intl庫的時區功能僅由集成到瀏覽器中的ECMAScript Internationalization API功能提供。

雖然IANA時區支持是該規範的一部分,它目前只涵蓋了兩種方案:

  • 格式化一個Date對象的字符串轉換爲特定時區的過程中。

  • 確定用戶的本地時區標識符。

不幸的是,沒有函數定義的枚舉可用時區列表的函數。

此外,請注意,它支持的兩個功能目前僅限於少數瀏覽器。這些能力可能需要相當長的時間。 ECMAScript Compatibility Table顯示支持哪些瀏覽器。在DateTimeFormat你會發現「resolvedOptions()的timeZone默認爲主機環境」「接受IANA時區名稱」跟蹤這些功能。

+0

感謝您的回答:),那麼,您會如何推薦我以最佳方式實現我的目標?自己創建列表? – Mayday

相關問題