javascript - 在 JavaScript 中将 UTC 日期时间字符串转换为基于浏览器的时区

标签 javascript datetime timezone

有没有办法将 "11/30/2016 3:05:24 AM" 格式的 UTC 字符串转换为javascript 中基于浏览器的时区(例如 PST),而不使用第三方库/脚本(如 moment.js)?

示例 - 如果时区为 IST(印度标准时间),比 UTC 早 5 小时 30 分钟,则输出应为 11/30/2016 8:35:24 上午

最佳答案

最好使用 moment。

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()); 

演示 here

关于javascript - 在 JavaScript 中将 UTC 日期时间字符串转换为基于浏览器的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40881023/

相关文章:

javascript - 将多个元素添加到所有相等的数组中

php - 获取日期时间的行,该行是小于mysql中选定日期的最新日期时间

php - 更改服务器时区后更新 MySQL 数据库中的时间戳

python - 对平面文件中的日期时间值求和

javascript - 为 angular.js 应用程序强制执行时区

python - 将 tzinfo 设置为日期时间对象的最佳实践或快捷方式

javascript - 如何使用 AmCharts 创建自定义 map

javascript - 如何在jmeter中执行javascript生成一些在后续请求中使用的sessionID

javascript - 带有 drilledDown 的 HighMaps

C++:将 Unix 时间转换为非本地时区