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

Posted

技术标签:

【中文标题】Moment.js 包含中间日期格式的文本【英文标题】:Moment.js Include text in middle of date format 【发布时间】:2015-03-30 05:31:58 【问题描述】:

我需要使用 moment.js 显示“2015 年 1 月 27 日上午 8:17”的格式。我正在使用格式

moment.format('MMM. D, YYYY at h:mm A z');

除了“at”这个词外,一切都很好。我怎样才能让那个词显示为一个词,而不是将“at”中的“a”翻译成“am/pm”。现在使用该日期格式,它最终看起来像这样:2015 年 1 月 27 日上午 8:17。注意“amt”而不是“at”。

有什么简单的方法让它不将“a”作为格式的一部分处理吗?我已经尝试过拆分输出并在第三个空格之后手动输入“at”,但如果可能的话,我想要一个更简洁的代码。

【问题讨论】:

【参考方案1】:

Escape it 带方括号

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

【讨论】:

做到了!我知道必须有办法:) 谢谢 只有一个注释,确保自定义文本和格式标记之间有空格 如果这个文本是一个定义为 const 的变量怎么办。我们可以包括它吗? 有没有办法可以添加一个“空格”而不是一个单词“at”? 如何将 i18n 添加到组合中并翻译[at]?所以例如moment().locale('en').format('MMM. D, YYYY [at] h:mm A z'); 返回"Jul. 27, 2020 at 12:54 PM "moment().locale('it').format('MMM. D, YYYY [at] h:mm A z'); 返回"lug. 27, 2020 alle 12:54 PM "?我们怎样才能做到这一点?谢谢!

以上是关于Moment.js 包含中间日期格式的文本的主要内容,如果未能解决你的问题,请参考以下文章

Moment.js 中的 DD/MM/YYYY 日期格式

使用 Moment.js 格式化日期并减去天数

格式化日期与moment.js

Moment.js“无效日期”

带有 Moment.js 的 Jquery 数据表的终极日期/时间排序插件

Unix时间戳的moment.js格式?