timezone.js无法在zend框架中工作2

时间:2015-05-06 14:41:16

标签: javascript zend-framework timezone

我正在尝试使用javascript进行时区转换,但是在使用timezone.js时我会在控制台中继续进行此操作:

警告:主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用。如需更多帮助,请查看http://xhr.spec.whatwg.org/

错误:获取http://exodo/tz/asia 404(未找到)

错误:未捕获的TypeError:无法读取null的属性“1”

timezoneJS.timezone.zoneFileBasePath = 'tz';
timezoneJS.timezone.defaultZoneFile = ['asia', 'backward', 'northamerica', 'southamerica'];
timezoneJS.timezone.init({ async: false });
var dt = new window.timezoneJS.Date(new Date());
console.debug(dt.toString());
dt.setTimezone('America/Los_Angeles');
alert(dt);

提示答案将不胜感激

谢谢

1 个答案:

答案 0 :(得分:1)

显然,您发现 GET http://exodo/tz/asia 404 (Not Found)失败了。

您需要Olson时区文件 - timezoneJS.Date使用原始Olson数据来计算时区偏移量。 Olson区域文件是简单的结构化文本数据,可以快速下载并轻松解析。 (它们也会压缩到非常小的尺寸。)您可以从here

下载

将您的Olson文件目录放在Web服务器根目录下的某个位置,并将timezoneJS.timezone.zoneFileBasePath指向它。然后调用init函数。您的代码将如下所示:

timezoneJS.timezone.zoneFileBasePath = '/tz';

有关详细信息,请参阅 How to setup?

        timezoneJS.timezone.zoneFileBasePath = '/tz';
 timezoneJS.timezone.defaultZoneFile = ['asia', 'backward', 'northamerica', 'southamerica'];
    var successFn = function (){ 
var dt = new window.timezoneJS.Date(new Date());
 console.debug(dt.toString());
 dt.setTimezone('America/Los_Angeles'); 
alert(dt);
}; 
timezoneJS.timezone.init({ callback: successFn });