在JavaScript中将UTC DateTime字符串转换为基于浏览器的时区



是否有一种方法可以转换格式的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)

好吧,现在您清除了您想在没有第三方库的情况下做的,这也可能是可能的。

  1. 以本地时区偏移为
  2. 从您的UTC字符串创建日期对象
  3. 将您的本地时区偏移添加到该

或没有第三部分库的简单方式

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

创建一个通过此值的新日期对象,它将返回本地时区中的日期。

相关内容

  • 没有找到相关文章

最新更新