getMinutes()0-9 – 如何用两个数字?
var date = "2012-01-18T16:03"; var date = new Date(date); console.log(date.getMinutes()); console.log(date.getMinutes().length) 这返回3。
- 我如何使它返回“03”?
-  为什么.length返回undefinded?
我试过这个,但没有奏效:
 如果strlen == 1那么num = ('0' + num); 
 var date = new Date("2012-01-18T16:03"); console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() ); 
 哎呀,这些答案不是很好,即使是最高的职位上涨。 在这里,跨浏览器和更干净的int /string转换。 另外我的build议是不要使用像date = Date(...)这样的代码的variables名称'date',在那里你很大程度上依赖语言区分大小写(它可以工作,但是当你使用服务器/浏览器用不同的规则编码不同的语言)。 所以,假设在一个var current_date javascriptdate: 
 mins = ('0'+current_date.getMinutes()).slice(-2); 
 该技术是将getMinutes()的string值前面的“0”的最右边的2个字符(slice(-2))作为前缀。 所以: 
 "0"+"12" -> "012".slice(-2) -> "12" 
和
 "0"+"1" -> "01".slice(-2) -> "01" 
如果可以的话,我想提供一个更简洁的解决scheme。接受的答案是非常好的。 但是我会这样做的。
 Date.prototype.getFullMinutes = function () { if (this.getMinutes() < 10) { return '0' + this.getMinutes(); } return this.getMinutes(); }; 
现在,如果你想使用这个。
 console.log(date.getFullMinutes()); 
你应该检查它是否小于10 …不寻找它的长度,因为这是一个数字,而不是一个string
我build议:
 var minutes = data.getMinutes(); minutes = minutes > 9 ? minutes : '0' + minutes; 
这是一个函数调用较less。 考虑绩效总是很好的。 它也很短;
另外一个select:
 var dateTime = new Date(); var minutesTwoDigitsWithLeadingZero = ("0" + dateTime.getMinutes()).substr(-2); 
  .length是未定义的,因为getMinutes返回一个数字,而不是一个string。 数字没有length属性。 你可以做 
 var m = "" + date.getMinutes(); 
 使其成为一个string, 然后检查长度(你会想检查length === 1 ,而不是0)。 
我假设你会需要作为string的值。 你可以使用下面的代码。 它总是会返回给你两位数字的string。
 var date = new Date(date);  
 var min = date.getMinutes(); 
  if(min <10){ 
  min ='0'+ min; 
  } else { 
  min = min +''; 
  } 
的console.log(分钟);
希望这可以帮助。
数字没有长度,但可以很容易地将数字转换为string,检查长度,然后在必要时加上0。
 var strMonth =''+ date.getMinutes();
 if(strMonth.length == 1){
   strMonth ='0'+ strMonth;
 }
我没有在这里看到任何ES6的答案,所以我会添加一个使用StandardJS格式
 // ES6 String formatting example const time = new Date() const tempMinutes = new Date.getMinutes() const minutes = (tempMinutes < 10) ? `0${tempMinutes}` : tempMinutes 
 优雅的ES6函数将date格式化为hh:mm:ss : 
 const leadingZero = (num) => `0${num}`.slice(-2); const formatTime = (date) => [date.getHours(), date.getMinutes(), date.getSeconds()] .map(leadingZero) .join(':'); 
我通常使用这段代码:
 var start = new Date(timestamp), startMinutes = start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes(); 
它与@ogur接受的答案非常相似,但是在不需要0的情况下不连接空string。 不知道这是更好的。 只是另一种方式来做到这一点!
 $(".min").append( (date.getMinutes()<10?'0':'') + date.getMinutes() ); 
新的JS所以这是非常有益的最有意思的是看这个概念新的ppl所以这就是我如何得到它显示在称为“class =”分“
希望它可以帮助别人