我想将自定义时间设置(模拟)到Node.js服务器以进行测试。像这样:
console.log(new Date());
// Sat Jun 30 2018 20:00:00 GMT+0100
// ^^
someFunctionToSetTime('Sat Jun 30 2018 12:00:00 GMT+0100')
// ^^
console.log(new Date());
// Sat Jun 30 2018 12:00:00 GMT+0100
// ^^
我该怎么做?
P.S。我真的不想伪造Date
类。
答案 0 :(得分:1)
只是猴子修补了Date构造函数:
let now = 'Sat Jun 30 2018 12:00:00 GMT+0100';
{
const oldDate = Date;
Date = function(...args) {
if(args.length) {
return new oldDate(...args);
} else {
return new oldDate(now);
}
};
}
答案 1 :(得分:0)
第一个选项:如果没有外部模块,则可以使用此方法在node.js中获取时区日期和时间
var myDate = new Date().toLocaleString('en-US', {
timeZone: 'Europe/Paris'
});
第二个选项:使用momentjs timezone巫婆允许您设置位置以及更多信息……只需检查文档即可。