正在读取UTC时间字符串
Reading UTC time strings
嗨,我正在尝试使用moments.js.读取一些UTC数据字符串
例如
date1 = moment.utc("160114224512Z").format('YYYY-MM-DD HH:mm:ss');
console.log(date1)
然而,这总是抛出一个无效的日期错误
x
或X
令牌,则Moment将接受以秒和毫秒为单位的unix时间戳作为字符串。实际上,您甚至不需要去掉Z——与x
和X
标记相关的正则表达式正在查找一个数字,因此默认情况下它将忽略Z。
我认为您有毫秒,所以您将使用小型x
令牌,如下所示:
moment.utc("160114224512Z", 'x').format('YYYY-MM-DD HH:mm:ss');
"1975-01-28 04:10:24"
看起来对吗?
另外需要注意的是,为了清晰起见,去掉Z可能是很好的,即使你不必这样做。
我假设您有未显示的报价,例如:
date1 = moment.utc("160114224512Z").format('YYYY-MM-DD HH:mm:ss');
// Note -----------^-------------^
console.log(date1)
问题很简单:这不是我见过的任何格式的有效日期/时间字符串。例如,它肯定不是ISO-8601。
自1975年1月28日的Epoch值以来,它看起来像是一秒钟,因为它只是一个数字,而且它太大了,自Epoch以来不可能是毫秒(除非你真的有7043年的日期)。
如果距离epoch还有几秒,则放弃Z
并将其用作数字:
date1 = moment.utc(160114224512).format('YYYY-MM-DD HH:mm:ss');
160114224512Z
不是有效的UTC矩格式,也不是有效的矩格式。
我建议你指定你的输入格式,我会这样做:
moment.utc(160114224512, 'x').format('YYYY-MM-DD HH:mm:ss')
相关文章:
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 将时间字符串值转换为时间javascript
- Mysql日期时间字符串格式为angularjs中的可读日期
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 如何使用 Javascript 将持续时间字符串解析为秒
- 正在读取UTC时间字符串
- 在javascript中使用PHP时间字符串后,倒计时不起作用
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 如何将UTC时间字符串转换为本地时区中正确的moment.js对象
- 如何从javascript或jquery中的时间字符串中获取分钟数
- 将时间字符串(例如上午 9:00)转换为 24 小时 (0900)
- 将时间字符串转换为本地时间
- JavaScript 中的正则表达式来捕获时间字符串
- 使用 javascript 将日期和时间字符串转换为 dd/mm/yyyy
- 在自定义格式的Javascript中解析“日期和时间”字符串
- jQuery localtime,收到不受支持的日期/时间字符串错误
- 给定一个日期/时间字符串,w javascript/jquery,你怎么能确定它是否是今天
- 在 Javascript 中解析 Python 日期时间字符串
- 如何从 HH:MM 时间字符串中减去小时和分钟
- 在 Javascript 中将日期时间字符串转换为时间戳