javascript日期时间将零添加到一位数值

javascript日期时间将零添加到一位数值,javascript,jquery,date,datetime,string-formatting,Javascript,Jquery,Date,Datetime,String Formatting,我有一种方法来安排明天的约会 var tomorrow = date.getDate() + "/" + month + "/" + date.getFullYear(); 这将返回2/10/2013,我希望它是02/10/2013(零表示个位数) 这是进行日期比较所必需的 if(02/10/2013==2/10/2013){ dosomething(); } 由于该问题,上述方法不起作用。您可以通过 var tomorrow = ('0' + date.getDate()).slice(-

我有一种方法来安排明天的约会

var tomorrow = date.getDate() + "/" + month + "/" + date.getFullYear();
这将返回2/10/2013,我希望它是02/10/2013(零表示个位数)

这是进行日期比较所必需的

if(02/10/2013==2/10/2013){
dosomething();
}
由于该问题,上述方法不起作用。

您可以通过

var tomorrow = ('0' + date.getDate()).slice(-2) + "/" +  ('0' + (date.getMonth()+1)).slice(-2) + "/" + date.getFullYear();

您还可以使用库进行时间/日期操作

为什么不使用phpjs.org上的str_pad这是代码:

  function str_pad (input, pad_length, pad_string, pad_type) {
  // http://kevin.vanzonneveld.net
  // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  // + namespaced by: Michael White (http://getsprink.com)
  // +      input by: Marco van Oort
  // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
  // *     example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT');
  // *     returns 1: '-=-=-=-=-=-Kevin van Zonneveld'
  // *     example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH');
  // *     returns 2: '------Kevin van Zonneveld-----'
  var half = '',
    pad_to_go;

  var str_pad_repeater = function (s, len) {
    var collect = '',
      i;

    while (collect.length < len) {
      collect += s;
    }
    collect = collect.substr(0, len);

    return collect;
  };

  input += '';
  pad_string = pad_string !== undefined ? pad_string : ' ';

  if (pad_type !== 'STR_PAD_LEFT' && pad_type !== 'STR_PAD_RIGHT' && pad_type !== 'STR_PAD_BOTH') {
    pad_type = 'STR_PAD_RIGHT';
  }
  if ((pad_to_go = pad_length - input.length) > 0) {
    if (pad_type === 'STR_PAD_LEFT') {
      input = str_pad_repeater(pad_string, pad_to_go) + input;
    } else if (pad_type === 'STR_PAD_RIGHT') {
      input = input + str_pad_repeater(pad_string, pad_to_go);
    } else if (pad_type === 'STR_PAD_BOTH') {
      half = str_pad_repeater(pad_string, Math.ceil(pad_to_go / 2));
      input = half + input + half;
      input = input.substr(0, pad_length);
    }
  }

  return input;
}
试试这个:

if(new Date(2013,2,10).toString() == new Date(2013,02,10).toString()){
    dosomething();
}

如果将字符与数字或日期值关联,结果将更改为字符串。虽然您的语法错误,但比较将永远失败。@reporter您能更具体一点吗?这是一件可能的事还是不可能的事?我想你也希望月数增加
0
。@mazraara:我想你在寻找类似的东西。对吗?@mazraara如果您满意,请接受任何一个answer@Swaapnil它前面总是有零,不是吗?02/10/2013 && 021/10/2013@mazraara不,伙计,在这种情况下,slice会起作用。在“021”的情况下,它会给我们最后两个字符“21”。它会在几个月内添加前导零吗?我的意思是,当月份小于10时,应该在前面加上一个零。这是错误的,如果日期已经是两位数,例如12?领先零就可以了012@TAHASULTANTEMURI不,因为我们在上面有
.slice(-2)
。它将删除前面的零。当数字是2位时,这会阻止吗?我的意思是只有当它是个位数时才加零?会发生这种情况吗?2013年10月2日这将完全符合您的要求它使用jquery datepicker widgetNo它不会发生(2013年10月2日)它会在几个月内添加前导零吗?我的意思是当月份小于10时,应该在前面加一个零
var tomorrow = str_pad(date.getDate(),2,0,'STR_PAD_LEFT') + "/" + str_pad(month,2,0,'STR_PAD_LEFT') + "/" + date.getFullYear();
if(new Date(2013,2,10).toString() == new Date(2013,02,10).toString()){
    dosomething();
}