我试图使用JS将日期对象转换为YYYYMMDD格式的字符串。有没有比连接Date.getYear(), Date.getMonth()和Date.getDay()更简单的方法?
当前回答
这个帖子中最受欢迎的答案的简化版本https://stackoverflow.com/a/3067896/5437379:
function toYYYYMMDD(d) {
var yyyy = d.getFullYear().toString();
var mm = (d.getMonth() + 101).toString().slice(-2);
var dd = (d.getDate() + 100).toString().slice(-2);
return yyyy + mm + dd;
}
其他回答
Dateformat是一个非常常用的包。
使用方法:
从NPM下载并安装dateformat。在你的模块中需要它:
以格式
然后格式化你的东西:
const myYYYYmmddDate = dateformat(new Date(), 'yyyy-mm-dd');
这个家伙这里=> http://blog.stevenlevithan.com/archives/date-time-format写了一个格式()函数Javascript的日期对象,所以它可以使用熟悉的文字格式。
如果你需要在应用程序的Javascript中使用完整的日期格式,请使用它。否则,如果你想做的是一次性的,那么连接getYear(), getMonth(), getDay()可能是最简单的。
这段代码修复了Pierre Guilbert的答案:
(10000年后依然有效)
YYYYMMDD=new Date().toISOString().slice(0,new Date().toISOString().indexOf("T")).replace(/-/g,"")
当地时间:
var date = new Date();
date = date.toJSON().slice(0, 10);
UTC时间:
var date = new Date().toISOString();
date = date.substring(0, 10);
在我写这篇文章的时候,日期将在今天2020-06-15打印出来。
toISOString()方法返回ISO标准的日期,YYYY-MM-DDTHH:mm:ss.sssZ
代码采用YYYY-MM-DD格式所需的前10个字符。
如果你想要没有'-'的格式,请使用:
var date = new Date();
date = date.toJSON().slice(0, 10).split`-`.join``;
在.join ' '中,你可以添加空格、点或任何你喜欢的东西。
原生Javascript:
new Date().toLocaleString('zu-ZA').slice(0,10).replace(/-/g,'');