【问题标题】:momentJS know previous, current or next day after timezone conversionmomentJS 知道时区转换后的前一天、当前或第二天
【发布时间】:2020-03-28 07:03:51
【问题描述】:

在下面的示例中,我将时间 (t) 从 ACT 转换为 PST。现在,对于这个特定的示例,我知道 t2 晚了 19 个小时(如果我们认为 t1 是在星期一 14:00:00,那么 t2 是星期日 19:00:00)。

在我的用例中,它并不总是从 ACT 到 PST。 Source(t1) 和destination(t2) 将是动态时区值。所以,转换后t2可能是

  • 晚一天(即如果t1 是星期一,那么t2 是星期日)
  • 是同一天 (即如果 t1t2 是星期一)
  • 提前一天(即如果t1 是星期一 那么t2 是星期二)

示例:

let t = "14:00:00";
let t1 = moment.tz("2001-01-01" + t, 'Australia/Sydney'); // 14:00 ACT let t2 = moment.tz("2001-01-01" + t, 'Australia/Sydney').utc().tz('US/Pacific'); //19:00 PST (19 hrs behind to ACT)

有没有办法算出这一天?

【问题讨论】:

    标签: javascript date time ecmascript-6 momentjs


    【解决方案1】:

    使用您的示例,您可以这样做:

    const s1 = t1.format('YYYY-MM-DD');
    const s2 = t2.format('YYYY-MM-DD');
    

    然后

    if (s1 > s2) {
      // t2 is behind t1
    } else if (s1 < s2) {
      // t2 is ahead of t1
    } else {
      // same day
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 1970-01-01
      相关资源
      最近更新 更多