javascript - 使用 JavaScript 对日期进行零填充

标签 javascript jquery

我想像这样格式化日期:

2013 年 5 月 2 日

但目前,我的格式如下所示:

2013 年 5 月 2 日

如何用零填充这种类型的日期,使日期中的 类似于 02 而不仅仅是 2


这是我使用的代码:

var m_names = new Array("January", "February", "March", 
"April", "May", "June", "July", "August", "September", 
"October", "November", "December");

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
alert( m_names[curr_month] + " " +curr_date + " " + curr_year);

jsFiddle code here

最佳答案

您可以像这样实现此逻辑:

var d = new Date();
var curr_date = ("0" + d.getDate()).slice(-2);
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
console.log( m_names[curr_month] + " " +curr_date + " " + curr_year);

FIDDLE


更新 - (2017 年 10 月 1 日)

EcmaScript 2017 或 ES8 引入了两个新的 String 原型(prototype)方法: padStart()padEnd() .我们可以在字符串之前或之后添加一些额外的空格或破折号(或任何其他字符)。我们可以在这里使用它:

var curr_date = d.getDate().toString().padStart(2,0);

( 如果我们不需要将 d.getDate() 转换为字符串,此语法可能会更短,因为 padStart 仅适用在字符串上)

演示:

var m_names = new Array("January", "February", "March",
  "April", "May", "June", "July", "August", "September",
  "October", "November", "December");

var d = new Date('10/1/2017');
var curr_date = d.getDate().toString().padStart(2, 0);
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var formatted_date = m_names[curr_month] + " " + curr_date + " " + curr_year;

console.log(formatted_date);

关于javascript - 使用 JavaScript 对日期进行零填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16344249/

相关文章:

javascript - 在哪里将我的 ajax 添加到 Bootstrap 4 的表单验证 javascript 中?

javascript - Node.js API - 来自多个客户端的重复数据请求

javascript - 在javascript中重新排序字符串

jquery - 每整点调用一次功能

jquery - 与 bootstrap 3 css 配合使用的滑动覆盖面板

javascript - 对象中的 graph.facebook 输出

javascript - 维护用户对象的 javascript "mirror"

javascript - 反转 Markdown 以进行 bootstrap pagedown 文本区域编辑

javascript - 无法让 FiltersFeature 在 extJS 中工作

javascript - 用jQuery检查空格键是否被按下并且鼠标是否在同时移动?