Momentjs:日期到第一个月

时间:2019-07-18 15:23:05

标签: momentjs

我得到以下输出:

>> moment('18/07/2019@14:15:56.513+0000', 'dd/MM/yyyy@HH:mm:ss.SSSZ').format('DD/MM/YYYY');
>> "01/07/2019"

我需要获取18/07/2019而不是01/07/2019

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

moment('18/07/2019@14:15:56.513+0000', 'dd/MM/yyyy@HH:mm:ss.SSSZ').format('DD/MM/YYYY');更改为:

moment('18/07/2019@14:15:56.513+0000', 'DD/MM/yyyy@HH:mm:ss.SSSZ').format('DD/MM/YYYY');应该可以解决问题。请注意,第一个dd已更改为DD

moment.js文档(https://momentjs.com/docs/#/parsing/string-format/)中,DD是该月当前日期的掩码。

答案 1 :(得分:0)

时刻令牌区分大小写,因此您必须使用'DD/MM/YYYY[@]HH:mm:ss.SSSZ'而不是'dd/MM/yyyy@HH:mm:ss.SSSZ'。小写的dd代表星期几的名称(可识别语言环境),而没有小写的yyyy,则年份使用大写的YYYY

请参阅moment(String, String)文档。

您可以使用方括号[]来转义字符。

这里有一个现场样本:

console.log( moment('18/07/2019@14:15:56.513+0000', 'DD/MM/YYYY[@]HH:mm:ss.SSSZ').format('DD/MM/YYYY') );
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>