带时区的Javascript Datestring转换器

Javascript Datestring Converter with Timezone

本文关键字:Datestring 转换器 Javascript 时区      更新时间:2023-09-26

使用JavaScript,如何翻译如下日期字符串:

Sep 13, 1:13PM GMT+01:00
Sep 12, 4:00PM EDT

从epoch到Unix时间戳或JavaScript毫秒?

我认为格式是:

MMM DD, h:mmtt ?K

我已经走到了这一步,接近答案。

  • 它对字符串执行正则表达式,并将每个元素捕获到一个组中
  • 对24小时时间表示进行了校正
  • 我以为是今年
  • 它没有考虑时区
  • 使用parse方法
function getTimestamp(str){
 var re = /('w{3}) ('d{2}), ('d):('d{2})('w{2}) (.*)/;
  var match = re.exec(str);
  if (match !== null) {
      var HH = match[5]==='PM' ? +match[3]+12 : match[3];
      return Date.parse(match[1]+' '+match[2]+', '+new Date().getFullYear()+' '+ HH +':'+match[4]);
  }
}
getTimestamp('Sep 12, 4:00PM EDT'); //=> 1347462000000