【发布时间】:2019-10-01 03:21:18
【问题描述】:
尝试在全球范围内设置相同时间的横幅,但未获得预期结果。
在我的项目中,我想设置一个带有开始日期和结束日期的中断横幅。目前,我正在将系统日期与开始日期和结束日期进行比较,并相应地显示横幅。这里的一个问题是不同的时区。对于同步,我将所有 3 个日期(开始、sysDate 和结束日期)转换为 UTC,但它在 CST 时区不起作用。
let startDate, endDate;
let sysDate = new Date();
this.sysDate= new Date(this.sysDate.toUTCString()).valueOf();
this.startDate = new Date(this.OutageDetails.startDate);
this.startDate= new Date(this.startDate.toUTCString()).valueOf();
this.endDate= new Date(this.OutageDetails.endDate);
this.endDate= new Date(this.endDate.toUTCString()).valueOf();
if(startDate<= this.sysDate && this.sysDate<=this.endDate())
{
console.log('Show the banner');
}
//这里,OutageDetails 是我获取 startDate 和 endDate 的文件
这显示了所有 UTC 时区的预期结果,但不显示 CST。我也尝试过 GMT,但没有成功。请让我知道最好的解决方案。
【问题讨论】:
-
我建议使用
moment.js和moment-timezone库,因为它们可以减少使用 Date 对象的麻烦。