是否有一种方法可以转换格式的UTC
字符串" 11/30/2016 3:05:24 AM"在JavaScript中基于浏览器的时区(例如PST
),而无需使用第三方库/脚本(如MONG.JS?
示例 - 如果时区为IST
(印度标准时间),则在UTC
之前5小时30分钟,输出应为 11/30/2016 8:35:24 AM
如果您使用时刻,最好是。
var localTimeInUTC = moment.utc('11/30/2016 3:05:24 AM','MM/DD/YYYY HH:mm:ss A').toDate();
localTime = moment(localTimeInUTC).format('YYYY-MM-DD HH:mm:ss A');
console.log(localTime); // It will be in your browser timezone
简单时刻。
moment.utc(utcDateTime, utcDateTimeFormat).local().format(specifiedFormat)
好吧,现在您清除了您想在没有第三方库的情况下做的,这也可能是可能的。
- 以本地时区偏移为
- 从您的UTC字符串创建日期对象
- 将您的本地时区偏移添加到该
或没有第三部分库的简单方式
var dateStr = '11/30/2016 3:05:24 AM';
var date = new Date(dateStr + ' UTC');
console.log(date.toString());
演示在这里
您可以做这样的事情。
var dp = "11/30/2016 3:05:24 AM".split(/[/: ]/);
var dateLocale = new Date(Date.UTC(dp[2], dp[0]-1, dp[1], (dp[3]%12 + (dp[6]=='PM' ? 12 : 0)), dp[4], dp[5]));
console.log(dateLocale.toString());
将日期分组为组件,并通过Date.UTC
功能中的各个部分,该功能返回自1970年1月1日,00:00 utc以来返回毫秒的数量。请参阅date.utc
创建一个通过此值的新日期对象,它将返回本地时区中的日期。