javascript - BST 日期字符串到 javascript 日期

标签 javascript date timezone

如何将 BST 日期字符串转换为 Javascript 日期对象?

以下代码给出了 BST 的错误,但适用于其他时区

var data='Tue Apr 28 16:15:22 BST 2015';
var date = new Date(data);
console.log(date)

输出

Invalid Date

var data='Tue Apr 28 16:15:22 BST 2015';
var date = new Date(data);
console.log(date)

var data2='Fri Mar 27 11:53:50 GMT 2015'
var date2 = new Date(data2);
console.log(date2)

最佳答案

  1. 不要依赖日期来了解时区名称
  2. 不要将日期时间混用;年份应该在时间之前,时区应该是最后一件事

把这些放在一起

var timezone_map = {
    'BST': 'GMT+0100'
};

function re_order(str) {
    var re = /^(\w+) (\w+) (\d\d) (\d\d:\d\d:\d\d) (\w+) (\d\d\d\d)$/;
    return str.replace(re, function ($0, day, month, date, time, zone, year) {
        return day + ' ' + month + ' ' + date + ' ' + year + ' ' + time + ' ' + (timezone_map[zone] || zone);
    });
}

new Date(re_order('Tue Apr 28 16:15:22 BST 2015'));
// Tue Apr 28 2015 16:15:22 GMT+0100 (GMT Daylight Time)

关于javascript - BST 日期字符串到 javascript 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948929/

相关文章:

javascript - 检查对象数组中是否存在值

javascript - 获取在 JavaScript 中加载的图像的宽度

javascript - 使用 JavaScript 动态隐藏/显示表格列

javascript - Chrome 扩展程序 - 仅在单击按钮时运行内容脚本

javascript - 在JavaScript中将字符串转换为日期

javascript - 如何使今天的日期等于特定日期?

java - 我的程序中出现未知 NullPointerException "Date"

ios - 如何从时间字符串获取时区

time - hive 将 PHT 时间转换为 UTC

c - Perl 脚本什么时候需要在调用 `tzset` 之前调用 `localtime` ?