我有一个日期,格式是2014年5月11日太阳。如何使用JavaScript将其转换为2014-05-11 ?
函数taskDate(dateMilli) {
var d = (new Date(dateMilli) + ")。分割(' ');
D [2] = D [2] + ',';
返回[d[0], d[1], d[2], d[3]]。加入(' ');
}
var datemilli =日期。解析(' 2014年5月11日');
console.log (taskDate (datemilli));
上面的代码给了我相同的日期格式,2014年5月11日。我该如何解决这个问题?
你可以:
函数formatDate(日期){
var d = new Date(日期),
月= " + (d.getMonth() + 1) ",
day = " + d.getDate(),
year = d.g getfullyear ();
如果(月。长度< 2)
月= '0' +月;
如果一天。长度< 2)
Day = '0' + Day;
返回[年,月,日].join('-');
}
console.log(formatDate('Sun May 11,2014'));
使用的例子:
console.log(formatDate('Sun May 11,2014'));
输出:
2014-05-11
JSFiddle的演示:http://jsfiddle.net/abdulrauf6182012/2Frm3/
当ES2018滚动时(在chrome中工作),你可以简单地正则化它
(new Date())
.toISOString()
.replace(
/^(?<year>\d+)-(?<month>\d+)-(?<day>\d+)T.*$/,
'$<year>-$<month>-$<day>'
)
2020-07-14
或者如果你想要一些非常多功能,没有任何库
(new Date())
.toISOString()
.match(
/^(?<yyyy>\d\d(?<yy>\d\d))-(?<mm>0?(?<m>\d+))-(?<dd>0?(?<d>\d+))T(?<HH>0?(?<H>\d+)):(?<MM>0?(?<M>\d+)):(?<SSS>(?<SS>0?(?<S>\d+))\.\d+)(?<timezone>[A-Z][\dA-Z.-:]*)$/
)
.groups
哪一个结果提取了以下内容
{
H: "8"
HH: "08"
M: "45"
MM: "45"
S: "42"
SS: "42"
SSS: "42.855"
d: "14"
dd: "14"
m: "7"
mm: "07"
timezone: "Z"
yy: "20"
yyyy: "2020"
}
你可以像这样用replace(…, < d > / < m > /美元\ ' < yy > @ < H >:美元$ < MM > '),在顶部,而不是.match(…)。群体
14/7/'20 @ 8:45