我想格式化这样的日期:
May 02 2013
但目前,我的格式如下:
May 2 2013
如何将这种类型的日期归零,以便日期中的日期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);
Run Code Online (Sandbox Code Playgroud)
pal*_*aѕн 17
你可以实现这样的逻辑:
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);
Run Code Online (Sandbox Code Playgroud)
EcmaScript 2017或ES8引入了两种新的String原型方法:
padStart()和padEnd().我们可以在字符串之前或之后添加一些额外的空格或破折号(或任何其他字符).我们可以在这里使用它:
var curr_date = d.getDate().toString().padStart(2,0);
Run Code Online (Sandbox Code Playgroud)
(如果我们不需要将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);Run Code Online (Sandbox Code Playgroud)
这就是你可以做的。只需查看日期是否大于 9。如果是则使用它,如果不是则添加前导零
var curr_date = d.getDate();
curr_date = curr_date > 9 ? curr_date : "0" + curr_date;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8038 次 |
| 最近记录: |