【问题标题】:set Banner in expected time zone在预期时区设置横幅
【发布时间】: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.jsmoment-timezone 库,因为它们可以减少使用 Date 对象的麻烦。

标签: angular timezone


【解决方案1】:

请参考这两个网址以获得更好的解决方案: 1)https://momentjs.com/ 2)https://momentjs.com/timezone/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2014-09-27
    相关资源
    最近更新 更多