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 =”分“
希望它可以帮助别人