我在将日期信息传递到另一个网站时遇到了问题,因为即使是在该月的前九天,它们仍然需要两位数的日期。我已经90%使用了来自set select list to current date using Jquery的SO页面的代码。这会使月份和日期从1-31和1-12移动。我需要输出从01-31和01-12。
目前情况:
function ragequit() {
var today = new Date();
var daym = today.getDate();
var monthm = today.getMonth();
$('#StartMonth option[value=' + (monthm) + ']').prop('selected',true);
$('#StartDay option[value=' + (daym) + ']').prop('selected',true);
$('#EndMonth option[value=' + (monthm+1) + ']').prop('selected',true);
$('#EndDay option[value=' + (daym+1) + ']').prop('selected',true);
}
这是完美的月份,因为这是12月。还必须为每个值添加m
,以便它不会与更改开始日期时增加日期的其他工具竞争。
简单地说,我有12 7 2011
- 我需要12 07 2011
。
答案 0 :(得分:0)
你需要的是一个用前导零填充字符串的函数,如下所示:
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
然后您可以使用它将前导零添加到您的日期:
function ragequit() {
var today = new Date();
var daym = today.getDate();
var monthm = today.getMonth();
$('#StartMonth option[value=' + pad(monthm,2) + ']').prop('selected',true);
$('#StartDay option[value=' + pad(daym,2) + ']').prop('selected',true);
$('#EndMonth option[value=' + pad(monthm+1,2) + ']').prop('selected',true);
$('#EndDay option[value=' + pad(daym+1,2) + ']').prop('selected',true);
}
答案 1 :(得分:0)
在我的javascript工具库中,我有一个字符串的左右填充函数,我从某处获取并一直使用它们。
有这个......
String.prototype.lPad = function (n,c) {var i; var a = this.split(''); for (i = 0; i < n - this.length; i++) {a.unshift (c)}; return a.join('')}
String.prototype.rPad = function (n,c) {var i; var a = this.split(''); for (i = 0; i < n - this.length; i++) {a.push (c)}; return a.join('')}
您现在可以执行alert ('8'.lPad(6,'0'))
之类的操作
或者在你的情况下......
var monthm = today.getMonth().lPad(2,'0');
(可能需要转换)