我正在使用 moment.js 库 我有一个这种格式的日期:
2014-08-07T10:00:00+02:00
我想要两个独立的值:
- Thursday, August 7 2014
- 10 am
但我也希望他们使用本地语言。 例如,如果 moment.lang("fr"),输出应该是
- Jeudi 7 Août 2014
- 10h
我以正确的方式设置了 moment.js 语言。 我设法删除了小时、分钟和秒(以提取第一个值):
new Date(moment.utc(date).format('LL')) //Outputs Thu Aug 07 2014 00:00:00 GMT+0200 (Paris, Madrid)
但我不知道如何提取小时和分钟(作为第二个值)以及如何使用当前语言显示日期。
最佳答案
@Rayjax 解决方案在最新版本的 moment.js 中不再有效。 moment.localeData().longDateFormat()
的行为已更改。 LT
现在已经被时间格式所取代。它现在返回 dddd, MMMM D, YYYY LT
而不是 dddd, MMMM D, YYYY h:mm A
。因此从字符串中删除 LT
不再有效。但是我们可以只删除当前语言环境的已编译 LT
:
moment.localeData().longDateFormat('LLLL')
.replace(
moment.localeData().longDateFormat('LT'), '')
.trim();
trim 是必要的,以避免不必要的空白。
关于javascript - 日期格式 - momentjs - 使用语言环境分别提取日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25179377/