JavaScript添加前导零
我已经创建了这个脚本来计算提前10天的日期,格式为dd / mm / yyyy:
var MyDate = new Date();
var MyDateString = new Date();
MyDate.setDate(MyDate.getDate()+10);
MyDateString = MyDate.getDate() + '/' + (MyDate.getMonth()+1) + '/' + MyDate.getFullYear();
我需要通过将这些规则添加到脚本中,使日期在日期和月份组件中以前导零显示。 我似乎无法得到它的工作。
if (MyDate.getMonth < 10)getMonth = '0' + getMonth;
和
if (MyDate.getDate <10)get.Date = '0' + getDate;
如果有人能指示我将这些插入脚本的位置,我会非常感激。
试试这个:http://jsfiddle.net/xA5B7/
var MyDate = new Date();
var MyDateString;
MyDate.setDate(MyDate.getDate() + 20);
MyDateString = ('0' + MyDate.getDate()).slice(-2) + '/'
+ ('0' + (MyDate.getMonth()+1)).slice(-2) + '/'
+ MyDate.getFullYear();
编辑:
为了解释, .slice(-2)
给出了字符串的最后两个字符。
所以无论如何,我们可以在一天或一个月中添加"0"
,只要求最后两个,因为这些总是我们想要的两个。
所以如果MyDate.getMonth()
返回9
,它将是:
("0" + "9") // Giving us "09"
所以加上.slice(-2)
就给了我们最后两个字符:
("0" + "9").slice(-2)
"09"
但是,如果MyDate.getMonth()
返回10
,它将是:
("0" + "10") // Giving us "010"
所以添加.slice(-2)
给了我们最后两个字符,或者:
("0" + "10").slice(-2)
"10"
以下是Mozilla开发者网络上使用自定义“pad”函数的Date对象文档的示例,无需扩展Javascript的Number原型。 他们给出的方便功能就是一个例子
function pad(n){return n<10 ? '0'+n : n}
下面是在上下文中使用它。
/* use a function for the exact format desired... */
function ISODateString(d){
function pad(n){return n<10 ? '0'+n : n}
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z'
}
var d = new Date();
console.log(ISODateString(d)); // prints something like 2009-09-28T19:03:12Z
你可以定义一个“str_pad”函数(如在php中):
function str_pad(n) {
return String("00" + n).slice(-2);
}
链接地址: http://www.djcxy.com/p/87601.html