Moment.js包含日期格式中间的文本

Blu*_*ret 136 javascript momentjs

我的格式为"2015年1月27日上午8:17",我需要使用moment.js显示.我正在使用这种格式

moment.format('MMM. D, YYYY at h:mm A z');
Run Code Online (Sandbox Code Playgroud)

除了"at"这个词外,一切都很有效.如何将该单词显示为单词而不是"at"中的"a"被翻译为"am/pm".现在使用该日期格式,它最终看起来像这样:2015年1月27日上午8:17.注意"amt"而不是"at".

有没有简单的方法让它不处理"a"作为格式的一部分?我已经尝试拆分输出并在第三个空格后手动输入"at"但是如果可能的话我想要一个更干净的代码.

sli*_*oad 309

用方括号逃脱它

moment().format('MMM. D, YYYY [at] h:mm A z');
// produces:    "Jan. 30, 2015 at 2:46 PM "
Run Code Online (Sandbox Code Playgroud)

  • 只需一个注释,确保自定义文本和格式标记之间有空格 (3认同)
  • 可能有点晚了,但我根据语言环境使用自定义格式所做的就是将时刻字符串格式直接放入我的 i18n 语言环境 json 中,因此它将根据我认为另一种方式会加载的语言加载不同的字符串格式如果您的通用格式相同,例如“MMM”,则只需创建一个字符串。D, YYYY [at] h:mm A z' 可以变成 'MMM。D, YYYY [' + i18n('at') + '] h:mm A z' 或用于魔术引用用户 \`MMM. D, YYYY [${i18n('at')}] h:mm A z\` (2认同)