【问题标题】:How Moment.js can convert UTC time to local time at client sideMoment.js 如何在客户端将 UTC 时间转换为本地时间
【发布时间】:2015-10-30 08:23:15
【问题描述】:

先看代码

$(document).ready(function() {
  $("[data-utc-time]").text(function () {
    var utcTime = $(this).attr("data-utc-time");
    return moment.utc(utcTime, 'DD.MM.YYYY HH:mm').local().format('DD.MM.YYYY HH:mm');
});

特别看这行moment.utc(utcTime, 'DD.MM.YYYY HH:mm').local().format('DD.MM.YYYY HH:mm');

我想知道 Moment 库将 UTC 时间转换为本地时间的依据是什么?

什么时候知道客户来自哪个时区?

可以遮住一些光线。谢谢

【问题讨论】:

    标签: datetime momentjs


    【解决方案1】:

    它在客户端上运行,因此了解客户端的本地时间。在内部,它使用 JavaScript Date 对象来实现这一点,它具有本地时间行为。

    【讨论】:

    • 这是否意味着它与时区无关?我想当 UTC 时间需要转换为本地时间时,需要考虑时区....我说的对吗?
    • 如果时刻依赖于客户端本地时间,那么如果客户端电脑设置了错误的时间,则可能会发生错误。如果客户端设置了错误的时间,我如何使用 moment.js 因此它应该根据时区计算正确的时间。有可能吗?
    • 是的,它确实在客户端上运行,因此依赖于设置正确时区的客户端。如果您不想依赖客户端时区数据,则需要使用moment-timezone add-on。当然,您需要知道您实际想要使用的具体时区。
    • 如果 moment 有内置的时区功能,那么我想我们不必依赖这个库 http://pellepim.bitbucket.org/jstz/ 对吗?
    • @Thomas - moment-timezone 还没有 jstz 功能,但我们正在努力。您最初的问题只是关于操作本地区域中的值,而不是使用命名标识符来检测它。
    猜你喜欢
    • 2012-01-26
    • 2016-01-24
    • 2015-05-20
    • 2019-08-10
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 2021-01-04
    相关资源
    最近更新 更多