Answers:
var date = new Date("2012-01-18T16:03");
console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );
<10?'0':''
是什么意思?
认为这些答案并不好,即使是最高职位也是如此。在这里,跨浏览器和更清洁的int / string转换。另外,我的建议是不要在代码中使用变量名“ date”,例如date = Date(...)
您高度依赖语言区分大小写的代码(它可以工作,但是当您使用具有不同规则的不同语言的服务器/浏览器代码时会冒风险) 。因此,假设var中的javascript日期为current_date
:
mins = ('0'+current_date.getMinutes()).slice(-2);
该技术是(slice(-2))
在字符串值之前添加最右边的2个字符“ 0” getMinutes()
。所以:
"0"+"12" -> "012".slice(-2) -> "12"
和
"0"+"1" -> "01".slice(-2) -> "01"
另一种简短的方法是使用以下命令将分钟数填满前导零:
String(date.getMinutes()).padStart(2, "0");
含义:将字符串设为两个字符长,如果缺少字符,则设置 0
在此位置。
另外的选择:
var dateTime = new Date();
var minutesTwoDigitsWithLeadingZero = ("0" + dateTime.getMinutes()).substr(-2);
substr
。w3schools.com/jsref/jsref_substr.asp
使用ECMAScript国际化API,更多信息:
const twoDigitMinutes = date.toLocaleString('en-us', { minute: '2-digit' });
.length
未定义,因为getMinutes
返回的是数字,而不是字符串。数字没有length
属性。你可以做
var m = "" + date.getMinutes();
使其成为字符串,然后检查长度(您需要检查length === 1
,而不是0)。
我在这里看不到任何ES6答案,因此我将使用StandardJS格式添加一个答案
// ES6 String formatting example
const time = new Date()
const tempMinutes = new Date.getMinutes()
const minutes = (tempMinutes < 10) ? `0${tempMinutes}` : tempMinutes
$(".min").append( (date.getMinutes()<10?'0':'') + date.getMinutes() );
JS的新功能,所以这对查看这个新功能的大多数人来说非常有帮助,所以这就是我如何将它显示在名为“ class =“ min”的div中
希望对别人有帮助
对于两位数分钟,请使用:
new Date().toLocaleFormat("%M")
.getMinutes()
是一个整数,您不能.length
从整数访问。为此,将数字解析为字符串,然后检查其长度(不建议在处理日期时使用)。例如:date.getMinutes().toString().length