Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在nodejs程序中使用时区js_Javascript_Node.js - Fatal编程技术网

Javascript 在nodejs程序中使用时区js

Javascript 在nodejs程序中使用时区js,javascript,node.js,Javascript,Node.js,下面是我编写的代码,它使用timezone js模块为特定时区创建Date对象 require('timezone-js'); var dt = new timezoneJS.Date('2012, 06, 8, 11, 55, 4','Europe/Amsterdam'); 我运行了npm install timezone js并安装了模块 然而,当我运行程序时,我得到以下错误 var dt = new timezoneJS.Date('2012, 06, 8, 11, 55, 4','Eu

下面是我编写的代码,它使用
timezone js
模块为特定时区创建
Date
对象

require('timezone-js');
var dt = new timezoneJS.Date('2012, 06, 8, 11, 55, 4','Europe/Amsterdam');
我运行了npm install timezone js并安装了模块

然而,当我运行程序时,我得到以下错误

var dt = new timezoneJS.Date('2012, 06, 8, 11, 55, 4','Europe/Amsterdam');
             ^
ReferenceError: timezoneJS is not defined
at Object.<anonymous> (/Users/nandish/Documents/MI-Airlines/mi.airline-sync/lib/nodeTest.js:47:15)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
var dt=新时区日期('2012,06,8,11,55,4','Europe/Amsterdam');
^
ReferenceError:未定义时区JS
反对。(/Users/nandish/Documents/MI Airlines/MI.airline sync/lib/nodeTest.js:47:15)
在模块处编译(Module.js:449:26)
在Object.Module._extensions..js(Module.js:467:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Module.runMain(Module.js:492:10)
在process.startup.processNextTick.process.\u tickCallback(node.js:244:9)

使用
require
时,将结果分配给一个变量,然后使用该变量。因此:

var timezoneJS = require('timezone-js');
除其他外,这意味着您可以使用任何您想要的名称,例如:

var ts = require('timezone-js');
var dt = new ts.Date(2013, 0, 1);

旁注:如果要使用它,请务必阅读时区js的相关内容。它需要区域文件,如果您不提供这些文件,它将尝试动态加载这些文件。我试用过的版本有检测可用传输的bug,即FWIW(它尝试读取一个它不知道定义了的全局符号,该符号会引发异常,而不是使用符号的
typeofthesymbol
,后者不知道)

如果您按照该链接中的描述主动获取时区文件,并且它们位于运行脚本的相对路径
tz
,则此操作有效:

var timezoneJS = require("timezone-js");
var fs = require('fs');

// Give timezoneJS a transport for loading local timezone files.
// This code is extracted from https://github.com/mde/timezone-js/blob/master/spec/test-utils.js
timezoneJS.timezone.transport = function (opts) {
  // No success handler, what's the point?
  if (opts.async) {
    if (typeof opts.success !== 'function') return;
    opts.error = opts.error || console.error;
    return fs.readFile(opts.url, 'utf8', function (err, data) {
      return err ? opts.error(err) : opts.success(data);
    });
  }
  return fs.readFileSync(opts.url, 'utf8');
};

// Init timezones
timezoneJS.timezone.zoneFileBasePath = 'tz'; // <== If you put the files elsewhere, change this
timezoneJS.timezone.init();

// Use it to get a date in Central European Time
var d = new timezoneJS.Date(2013, 7, 1, 'CET');
console.log(d.toString());      // "Local" time for the date instance (CET)
console.log(d.toUTCString());   // UTC
var timezoneJS=require(“时区js”);
var fs=需要('fs');
//为timezoneJS提供用于加载本地时区文件的传输。
//这段代码是从https://github.com/mde/timezone-js/blob/master/spec/test-utils.js
timezoneJS.timezone.transport=函数(opts){
//没有成功的处理者,这有什么意义?
if(opts.async){
if(typeof opts.success!=“function”)返回;
opts.error=opts.error | | console.error;
返回fs.readFile(opts.url,'utf8',函数(err,data){
返回错误?选择错误(err):选择成功(数据);
});
}
返回fs.readFileSync(opts.url,“utf8”);
};
//初始时区
timezoneJS.timezone.zoneFileBasePath='tz'//