【发布时间】:2021-04-27 23:49:20
【问题描述】:
尝试转换日期格式但不起作用。 我的输入是 2054 年 10 月 23 日,输出应该是 2054-10-23。如何在javascript中做到这一点? 我的代码不起作用。
function formatDate(date) {
var m = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var d = new Date(date),
month = '' + (d.getMonth() + 1),
day = '' + d.getDate(),
year = d.getFullYear();
if (month.length < 2)
month = '0' + month;
if (day.length < 2)
day = '0' + day;
return [year, month, day].join('-');
}
var dates = ["23th Oct 2054", "29th Jul 2014", "12th May 2054", "20th Jun 2050", "23th Dec 2059"];
var results=formatDate(dates);
console.log(results.join('\n'),+'\n');
输出应该是
2054-10-23
2014-07-29
2054-05-12
2050-06-20
2059-12-23
【问题讨论】:
-
在“ver”修复之后,怀疑您是否会通过
23th Oct 2054获得想要的结果 -
@GetSet:不工作
-
有人评论说要把“ver”变成“var”。而你这样做了。但不幸的是,由于某些未知原因,您还决定将日期数组传递给您的函数,该函数不适用于数组。
-
@GetSet:如何获得解决方案?
-
"DDth Mmm YYYY" 不是
new Date()接受的格式,一些阅读告诉我它需要是一个能够被Date.parse()理解的字符串,否则我相信你需要时间库或自己手动解析并重新安排。Date.parse("23th Oct 2054") is NaN
标签: javascript