首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MomentJS与日差

MomentJS与日差
EN

Stack Overflow用户
提问于 2020-05-21 10:30:40
回答 2查看 260关注 0票数 1

我的时区是GMT+2。

当地时间'2020-05-21 :00‘

这意味着世界协调时时区(GMT+0)的“2020-05-20:00”。

所以天差应该说:1

这个代码并没有给出结果。有人知道为什么吗?

编辑:简单地说:星期六上午1点在我的位置是星期五晚上11点在协调世界时。所以应该有一天的差别。下面是实时代码示例

https://stackblitz.com/edit/moment-js-playground-vteexd?embed=1&file=index.ts

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-22 07:03:14

在这里,我要给出我自己的问题的答案:

代码语言:javascript
复制
 import moment from "moment-timezone";

//test for GMT+1
var now = moment().startOf("day").add(1, "hours");
console.log(now.format(), " now", now.format('dddd'));

let res= GetDayOffsetUTC(now);
console.log("Day diff: ", res);

// Get DAY difference between local and UTC time
// Responses:
// -1 : your local time is 1 day ahead of UTC
//  1 : your local time is 1 day after UTC
//  0 : your local time is same day as UTC



   function GetDayOffsetUTC(date) {
      const utcOffset = date.utcOffset();

      const utc = date.clone().add(-utcOffset, "minutes");

      const dayDiff = utc.startOf("day").diff(date.startOf("day"), "days");
      return dayDiff;
    }
票数 0
EN

Stack Overflow用户

发布于 2020-05-21 10:39:03

在内部,它们是相同的日期。要证明这一点,请尝试比较他们的时间戳now.format('X') === utc.format('X')

作为一种解决方案,我建议使用力矩持续时间来测量时差,并建议使用.days()来获得所需的值。

这可能会有帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61932464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档