将“ Thu Sep 19 14:24:59 UTC 2019”转换为时刻日期

时间:2019-09-24 20:31:08

标签: javascript datetime timezone momentjs

我尝试转换此日期:

created_at= "Thu Sep 19 14:24:59 UTC 2019"

使用此:

let elementDate=moment(created_at)

但是我得到了:

moment.invalid(/* Fri Aug 30 09:52:04 UTC 2019 */)

我也尝试过:

moment(created_at,"DDD Mo DD hh:mm:ss UTC YYYY") 

但似乎不正确。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

来自Moment.js docs

  

除非您指定时区偏移,否则解析字符串将创建一个   日期在当前时区。

如果您需要解析的日期字符串都是UTC,那么您可以简单地使用moment.utc()并修复星期几和月份中的格式令牌。否则,您将不得不对字符串进行一些额外的预处理,因为它无法解析时区缩写。

let dt = moment.utc('Thu Sep 19 14:24:59 UTC 2019', 'ddd MMM D HH:mm:ss [UTC] YYYY');

console.log(dt.format());
// 2019-09-19T14:24:59Z
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>