我想用momentjs转换一个日期,日期是这样的格式:
2021-10-10T00:00:00+02:00
在react js中我这样做:
moment('2021-10-10T00:00:00+02:00').format('dd/mm/yyyy');
返回"invalid date"
你知道这个错误是怎么回事吗?
只需在moment构造函数中指定格式即可。检查下面的代码片段。
不同的格式选项,查看他们的文档https://momentjs.com/docs/#/displaying/format/
const date = "2021-10-10T00:00:00+02:00";
const formatted = moment(date, "YYYY-MM-DD hh:mm:ss+ZZ").format("DD/MM/YYYY");
console.log(formatted);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
检查这个codesandbox,它似乎与您的输入一起工作。检查您导入的moment是否有问题。
CodeSandbox
还要注意的是,如果你想格式化月份,它应该是大写的M - moment("2021-10-10T00:00:00+02:00").format("dd/MM/yyyy")
你的代码是我的工作。请检查您输入的日期是否与您键入的日期相同。
var time = moment('2021-10-10T00:00:00+02:00').format('DD/MM/YYYY');
$("body").text("The time is: "+time+".");
结果:
The time is: 10/10/2021.
如果你知道一个输入字符串的格式,你可以用它来解析一个瞬间。
moment("2021-10-10T00:00:00+02:00", "YYYY-MM-DDTHH:mm:ss+-HH:mm");
如果包含时间部分,则与UTC的偏移量也可以包含为
+-HH:mm
,+-HHmm
,+-HH
或Z
。2013-02-08 09+07:00 # +-HH:mm 2013-02-08 09-0100 # +-HHmm 2013-02-08 09Z # Z 2013-02-08 09:30:26.123+07:00 # +-HH:mm 2013-02-08 09:30:26.123+07 # +-HH
Moment Docs - Parse - String