【问题标题】:YYYY-MM-DDTHH:mm not getting am/pm momentjsYYYY-MM-DDTHH:mm 没有得到 am/pm momentjs
【发布时间】:2018-05-27 08:19:39
【问题描述】:

我知道这种类型的问题并不是真正合适的,但我坚持下去,希望能得到一些帮助。我有以下日期:

2018-04-26T08:19:30+02:00

但是当我尝试获取小时和分钟时,我得到的结果是:

20:19 p

我正在做的事情如下:

let momentDay = (moment(el.time,'HH:mm a').format('HH:mm a'));

我不知道如何获得实时时间,应该给我:08:19 而不是 20:19

谢谢

【问题讨论】:

标签: javascript date momentjs


【解决方案1】:

您应该使用 hh 表示 12 小时时间,而不是使用 HH 表示 24 小时时间。

另外,如果el.timedatetime 对象,或者是可识别的明确日期格式(如您的那样),那么您无需在构造函数中指定格式:

let momentDay = moment(el.time).format('hh:mm aa');

【讨论】:

  • 回复:“…一种可识别的明确日期格式(如您的那样),那么您无需在构造函数中指定格式”。在moment.js documentation 中是“为了解析除 ISO 8601 字符串以外的任何内容的一致结果,您应该使用字符串 + 格式。”因此对于 YYYY-MM-DDTHH:mm:ss.SSSZ 以外的任何格式,应提供格式。曾尝试让 moment.js 在未指定格式的情况下不解析其他格式,但似乎已停止。
  • 2018-05-26T23:59:57.5682018-05-26T23:592018-146 都是 ISO8601 字符串,并不总是需要提供精确到毫秒的精度。有必要在不需要时包含格式(自行记录您的代码),但并非在所有情况下都必不可少。
猜你喜欢
  • 2017-04-08
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
  • 2020-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多