为什么没有一种标准方法来格式化 javascript 中的日期对象
Why isn't there a standard way to format a date object in javascript?
我有一个javascript日期对象,想像这样格式化它
2014-12-18
喜欢%Y-%m-%d
但我似乎找不到"一次实现这一目标的好方法。为什么javascript没有strftime函数?我怎样才能实现我想要的?
无需使用外部库:
var now = new Date();
var s = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate();
alert(s); // 2014-12-18
解释:
getFullYear()
为您提供 4 位数的年份
getMonth()
给你月份(从0开始,这就是为什么你必须添加1(
getDate()
为您提供月份中的某天
您可以使用库moment
。缺少日期格式设置功能背后没有充分的理由。
此答案包含将日期格式化为原版 JS 中%Y-%m-%d
的代码。
你试过Moment吗.js ?
时刻.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
这是文档
根据帮助方法的答案,这里有一种方法可以用 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
相关文章:
- 使用纯javascript格式化数字
- 如何用javascript格式化日期
- 用javascript格式化数字,而不进行更改
- 如何用javascript格式化(大)数字
- 如何使用javascript格式化同一类表列中的数据
- JavaScript:格式化输入方法会给出错误的值
- Javascript-格式化数字,始终显示原始的小数位数
- 用javascript格式化/操作JSON响应
- 使用 javascript 格式化数字
- 使用 JavaScript 格式化日期
- JavaScript 格式化时间 24 小时格式为 12 小时
- 使用 JavaScript 格式化附加文本
- JavaScript - 格式化长整数
- 在一个文件中使用 JavaScript 格式化 XML 数据
- 来自 Date() 对象的 JavaScript 格式化时间
- 使用 javascript 格式化日期字符串
- 如何使用javascript格式化从表单字段中提取的日期
- 如何用javascript格式化日期
- 用JavaScript格式化动态表
- 用Javascript格式化数组循环的日期输出