我正在使用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"
答案 0 :(得分: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")
答案 1 :(得分:0)
您需要的功能如下:
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');
};
答案 2 :(得分:0)
嘿,这个链接可以帮到你
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 :(得分:0)
您可能希望看一下这个答案:Get current timestamp from specific timezone
他们通过花时间在UTC并在特定时间转换它来解决
var utcEpochSeconds = dateObj.getTime() + (dateObj.getTimezoneOffset() * 60000);