javascript - UTC 时间的时刻 Js

标签 javascript timezone momentjs utc

我想计算相对于 UTC 时间的相对时间。我的本地时间是+2。

我尝试了很多组合... 例如

const endDate = new Date("08 Jun 2018") // tomorrow's date, I am expecting the time is 00:00:00
const utcDateTime = new Date(moment.utc().format());
const format = 'YYYY-MM-DD HH:mm:ss';

console.log(moment(endDate).fromNow()) // example for Poland(+2) it is 12, but I want to UTC(0), so it is should be 14
console.log(moment(endDate).from(utcDateTime)) // the same
console.log(moment(endDate.toUTCString()).from(utcDateTime)) // the same
console.log(moment(moment(endDate).utc().format(format), format).fromNow()) // I do not why, but it is 10, not 14 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js
"></script>

每次我都会得到相对时间,这对于我的本地时间来说是正确的。 UTC 应该大 2 小时。

我不知道该怎么做......

有人可以帮助我吗?

谢谢!

编辑

根据@31piy的建议,我尝试过类似的方法。

const endDate = new Date("08 Jun 2018") // tomorrow's date, I am expecting the time is 00:00:00
const format = 'YYYY-MM-DD HH:mm:ss';

console.log(moment(endDate).from(moment(moment.utc().format(format), format)))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js
"></script>

它对我有用,但是......我怎样才能更清楚地做到这一点?可能吗?

编辑2

这是我的错...我将一个处于 UTC 时区的日期(“2018 年 6 月 8 日”)传递给 Date 构造函数,但我没有指定它是 UTC - 所以事实上,endDate 应该相等为 “2018 年 6 月 8 日 02:00:00”,而不是 “2018 年 6 月 8 日 00:00:00”。我修复了这个问题,并且非常清楚 moment(endDate).fromNow(true) 对我有用。

感谢您帮助我!

最佳答案

您想要实现的目标有点棘手。您需要格式化不带时区信息的 UTC 时间,然后在调用 fromNow() 之前再次使用 moment 解析它:

const format = 'YYYY-MM-DD HH:mm:ss';
console.log(moment(moment.utc().format(format), format).fromNow());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js
"></script>

关于javascript - UTC 时间的时刻 Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50735074/

相关文章:

Python:timezone.localize() 不工作

Javascript 日期到 ISO 格式的字符串(带时区)

javascript - 洗涤器之前/之后。获得蓝色覆盖?

javascript - 提交后PHP防止页面刷新/加载

javascript - draw() 完成回调

javascript - Moment.js 从现在起计算错误

momentjs - MomentsJS asHours 格式

javascript - 如何限制 ResizeObserver?

php - MySQL 中的时区设置 - 使用 NOW()?

javascript - 以本地语言格式化日期 (moment.js)