【问题标题】:Dynamically convert timestamp to a different timezone [duplicate]将时间戳动态转换为不同的时区 [重复]
【发布时间】:2016-10-21 06:12:47
【问题描述】:

我正在使用 moment.js 和 moment-timezone。如何创建一个函数将2016-06-12 06:22:18 UTC 时间转换为用户的时区时间,然后将时间格式化为Jun 12, 2015 6:22 PM


例如:

updateTime("2016-06-12 06:22:18");

如果在芝加哥,输出将是:

"Jun 12, 2016, 1:22 AM"

【问题讨论】:

    标签: javascript jquery momentjs


    【解决方案1】:

    你可以试试这样的。

    moment.utc("2016-06-12 06:22:18", "YYYY-MM-DD HH:mm:ss").tz('America/Chicago').format("MMM D, YYYY, hh:mm a")
    

    【讨论】:

    • 似乎他想为任何用户本地化时间,所以 tz('America/Chicago') 应该替换为 local()
    • format("MMM D, YYYY, hh:mm a")中末尾的“a”是什么意思?
    • @akazemis local() 不起作用
    • @johnjay22113 local() 有效,看看我制作的 JSFiddle:jsfiddle.net/1jm73out
    • @johnjay22113 如果你使用 moment.tz.guess() 它与 local() 没有什么不同,我说过关于 Shiv V 的代码 .tz('America/Chicago')有点硬编码
    【解决方案2】:

    嘿,这个链接可以帮助你

    https://gist.github.com/founddrama/2182389

    https://www.sitepoint.com/managing-dates-times-using-moment-js/

    http://momentjs.com/timezone/docs/

    例子:

    moment().format('MMMM Do YYYY, h:mm:ss a'); // June 20th 2016, 11:10:20 am
    moment().format('dddd');                    // Monday
    moment().format("MMM Do YY");               // Jun 20th 16
    moment().format('YYYY [escaped] YYYY');     // 2016 escaped 2016
    moment().format();                       
    moment.tz('2016-01-01', 'America/Chicago').format('z');  
    

    【讨论】:

      【解决方案3】:

      你可能想看看这个答案,也许:Get current timestamp from specific timezone

      他们通过使用 UTC 时间并在特定时间转换来解决

      var utcEpochSeconds = dateObj.getTime() + (dateObj.getTimezoneOffset() * 60000);

      【讨论】:

        【解决方案4】:

        你需要的功能是这样的:

        function getLocalDate (input)
        {
          var dt= moment.utc(input);
          dt.add(moment().utcOffset(),'minutes');
          return moment(dt).format('MMM D, YYYY, hh:mm a');
        };
        

        或者这个:

        function getLocalDate(input)
        {
          return moment.utc(input).local().format('MMM D, YYYY, hh:mm a');
        };
        

        【讨论】:

          猜你喜欢
          • 2020-10-17
          • 2012-06-22
          • 2021-09-22
          • 2011-05-10
          • 1970-01-01
          • 1970-01-01
          • 2018-12-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多