爲了調用goog.i18n.TimeZone
的各種實例方法,我嘗試了相當不錯的goog.require()
和goog.inherits()
的組合數,但仍未達到目標。請有人讓我知道什麼應該是正確的方式來做到這一點?如何在我的JavaScript文件中調用各種goog.i18n.TimeZone實例方法?
已經完成了Google Closure Library文檔。因此,如果顯示帶有「Example.js」的演示會很有幫助。
爲了調用goog.i18n.TimeZone
的各種實例方法,我嘗試了相當不錯的goog.require()
和goog.inherits()
的組合數,但仍未達到目標。請有人讓我知道什麼應該是正確的方式來做到這一點?如何在我的JavaScript文件中調用各種goog.i18n.TimeZone實例方法?
已經完成了Google Closure Library文檔。因此,如果顯示帶有「Example.js」的演示會很有幫助。
我發現學習閉包庫的最好方法之一就是查看庫本身的 單元測試。如果您尚未這樣做,請克隆「https://github.com/google/closure-library/」。然後你可以看:「https://github.com/google/closure-library/blob/master/closure/goog/i18n/timezone_test.js」。在測試類中查找與您的用例相匹配的任何 單元測試方法。例如,簡單的時區:
function testSimpleTimeZoneZero() {
var date = new Date();
var simpleTimeZone = goog.i18n.TimeZone.createTimeZone(0);
assertEquals(0, simpleTimeZone.getOffset(date));
assertEquals('GMT+00:00', simpleTimeZone.getGMTString(date));
assertEquals('Etc/GMT', simpleTimeZone.getTimeZoneId());
assertEquals('UTC', simpleTimeZone.getLongName(date));
assertEquals('UTC', simpleTimeZone.getShortName(date));
assertEquals('+0000', simpleTimeZone.getRFCTimeZoneString(date));
assertEquals(false, simpleTimeZone.isDaylightTime(date));
}
的時區類的其他方面,你必須知道的是,它需要操作的「數據」。 從文檔「https://google.github.io/closure-library/api/goog.i18n.TimeZone.html」:
i18n.TimeZone擴展 TimeZone類實現客戶端應用程序的時區的分辨率和名字信息源。時區對象從時區信息對象開始。應用程序可以靜態啓動時區,也可以選擇從服務器獲取的數據啓動。每個時區的信息數組很小,但整個數據集對於客戶端應用程序來說太多了。如果允許最終用戶更改時區設置,則應使用動態檢索。如果只有時區偏移是已知的,那麼只有使用時區偏移才能創建TimeZone對象的體面回退。整套時區信息陣列可在http://go/js_locale_data下獲得。它基於CLDR/ICU和Olson時區數據庫生成,並會及時更新。
單元測試顯示一種機制來靜態「加載」這個數據(在文件的頂部)。