使用WallTime.js进行js时区转换但收到错误

时间:2013-02-27 19:23:33

标签: javascript timezone commonjs walltime-js

我有一个位于西海岸的客户,但希望根据东海岸时间(美国/纽约)查看信息。

我正在尝试使用WallTime库:https://github.com/sproutsocial/walltime-js

define(function(require) {

var _ = require('underscore'),
    Backbone = require('backbone'),
    WallTime = require('walltime');
require('backbone.relational');
require('walltime-data');


var DateRange = Backbone.RelationalModel.extend({
    initialize: function(opts) {

        var self = this,
            type = (opts && opts.type) || "today";

        if(type == "custom") {
            var undef = _.isUndefined(opts.start) && _.isUndefined(opts.end);

            if(undef)
                throw "'start' and/or 'end' date not present in options for type: custom";
        }

        function getNycDate(date){
            var someUTCDate = new Date(date.getTime()),
            nycWallTime = WallTime.UTCToWallTime(someUTCDate, "America/New_York");
            return nycWallTime;
        }

        function setup() {
            var now = getNycDate(new Date());
        }
     }
   }
}

在尝试计算壁挂时间时,我收到以下错误:     未捕获错误:必须在设置时区之前使用规则和区域调用init

1 个答案:

答案 0 :(得分:0)

当您在加载时区数据之前尝试初始化WallTime时会发生这种情况。重新排序您的require语句和/或首先需要时区数据。

来源:我是SproutSocial开发人员。