我的项目中有moment
作为库,因此欢迎使用moment
的答案。
我的日期 2017年5月17日,我需要将其转换为有效的日期对象。我怎样才能做到这一点?
以下两项都会返回Invalid Date
moment('17th May 2017').format(...)
new Date('17th May 2017')
奇怪的是,我可以使用moment
格式化为'Do MMMM YYYY'
,它会像上面那样输出日期,但我可以这样做。反之亦然。
更新
请参阅this JSFiddle工作地点。
但是,当我将其移植到我的React应用程序中时,它无法正常工作
const {
safe_date: date,
} = firstVideo;
console.log(
'MomentJS me!',
date,
moment(date, 'dd MMM yyyy'),
moment(date, 'dd MMM yyyy').valueOf(),
);
date
是一个字符串
我的console.log
MomentJS me! 17th May 2017 ... NaN
我对moment(date.toString(), 'dd MMM yyyy')
的console.log不感兴趣所以我省略了它,奇怪的是valueOf()
返回NaN
但是在JSFiddle上正确返回。
答案 0 :(得分:-2)
试试moment('17th May 2017', "dd'th' MMM yyyy")
。
我试过java正常工作
SimpleDateFormat outputFormat = new SimpleDateFormat("dd'th' MMM yyyy");
System.out.println(outputFormat.parse("17th May 2017"));