为什么不是';javascript中是否有格式化日期对象的标准方法?
我有一个javascript日期对象,并希望将其格式化如下为什么不是';javascript中是否有格式化日期对象的标准方法?,javascript,date,Javascript,Date,我有一个javascript日期对象,并希望将其格式化如下 2014-12-18 像%Y-%m-%d但我似乎找不到一个“立即实现这一点的好方法。为什么javascript没有strftime函数?我如何实现我想要的?你尝试过Moment.js吗 安装 bower install moment --save # bower npm install moment --save # npm Install-Package Moment.js # NuGet 格式日期 moment().f
2014-12-18
像
%Y-%m-%d
但我似乎找不到一个“立即实现这一点的好方法。为什么javascript没有strftime函数?我如何实现我想要的?你尝试过Moment.js吗
安装
bower install moment --save # bower
npm install moment --save # npm
Install-Package Moment.js # NuGet
格式日期
moment().format('MMMM Do YYYY, h:mm:ss a'); // December 18th 2014, 2:08:59 pm
moment().format('dddd'); // Thursday
moment().format("MMM Do YY"); // Dec 18th 14
moment().format('YYYY [escaped] YYYY'); // 2014 escaped 2014
moment().format(); // 2014-12-18T14:08:59+01:00
以下是您可以使用的库。缺少日期格式化功能并没有什么好的理由
包含用于在vanilla JS中将日期格式化为
%Y-%m-%d
。无需使用外部库:
var now = new Date();
var s = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate();
alert(s); // 2014-12-18
说明:
getFullYear()
提供4位数的年份
getMonth()
提供月份(基于0,因此必须添加1)
getDate()
提供了月份的日期根据helpermethod的答案,下面是一种使用0填充月份和日期的方法:
function pad(num) {
return (num >= 10 ? '' : '0') + num;
}
const now = new Date();
const s = now.getFullYear() + '-' + pad(now.getMonth() + 1) + '-' + pad(now.getDate());
alert(s); // 2020-04-08
虽然这个链接可以回答这个问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生变化,只有链接的答案可能会无效。我直接提供了链接,因为在官方网站上有你需要的关于矩量.js的一切,但我同意你的看法,最好是提供回答这里;)仅供参考的时刻是一个相当大的依赖项。有一些较新的较轻的替代方案,如或请注意,getMonth和getDate可以是1位数字,因此如果您想要2014-01-09而不是2014-1-9这样的日期,您需要有选择地用“0”填充它