Javascript getMinutes()0-9-如何显示两位数?
这返回3Javascript getMinutes()0-9-如何显示两位数?,javascript,Javascript,这返回3 如何让它返回'03' 为什么.length返回未索引 我试过这个,但不起作用: 如果strlen==1,则num=('0'+num).length未定义,因为getMinutes返回的是数字,而不是字符串。数字没有length属性。你可以 var m=”“+date.getMinutes() 要使其成为字符串,然后检查长度(您希望检查长度===1,而不是0) 您应该检查它是否小于10。。。不查找其长度,因为这是一个数字而不是字符串。数字没有长度,但您可以轻松地将数字转换为字符串,检查长
.length
返回未索引李>
我试过这个,但不起作用:
如果strlen==1,则
num=('0'+num)
.length
未定义,因为getMinutes
返回的是数字,而不是字符串。数字没有length
属性。你可以
var m=”“+date.getMinutes()代码>
要使其成为字符串,然后检查长度(您希望检查长度===1
,而不是0) 您应该检查它是否小于10。。。不查找其长度,因为这是一个数字而不是字符串。数字没有长度,但您可以轻松地将数字转换为字符串,检查长度,然后根据需要在0前面加上前缀:
var date = "2012-01-18T16:03";
var date = new Date(date);
console.log(date.getMinutes());
console.log(date.getMinutes().length)
var strMonth=''+date.getMinutes();
if(strMonth.length==1){
strMonth='0'+strMonth;
}
var日期=新日期(“2012-01-18T16:03”);
log((date.getMinutes()我假设您需要字符串形式的值。您可以使用下面的代码。
它将始终返回两位数的分钟作为字符串
var date = new Date("2012-01-18T16:03");
console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );
var日期=新日期(日期);
var min=date.getMinutes();
如果(最小值<10){
最小值='0'+最小值;
}否则{
最小值=最小值+“”;
}
控制台日志(分钟);
希望这有帮助。我通常使用以下代码:
var date = new Date(date);
var min = date.getMinutes();
if (min < 10) {
min = '0' + min;
} else {
min = min + '';
}
console.log(min);
var start=新日期(时间戳),
startMinutes=start.getMinutes()<10?'0'+start.getMinutes():start.getMinutes();
它与@ogur accepted answer非常相似,但在不需要0的情况下不会连接空字符串。不确定它是否更好。只是另一种方法!我建议:
var start = new Date(timestamp),
startMinutes = start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes();
只需少调用一个函数,考虑性能总是好的。
它也很短;$(“.min”).append((date.getMinutes()另一个选项:
var minutes = data.getMinutes();
minutes = minutes > 9 ? minutes : '0' + minutes;
$(".min").append( (date.getMinutes()<10?'0':'') + date.getMinutes() );
如果可以的话,我想为这个问题提供一个更简洁的解决方案。被接受的答案非常好。但我会这样做的
var dateTime = new Date();
var minutesTwoDigitsWithLeadingZero = ("0" + dateTime.getMinutes()).substr(-2);
Yikes这些答案都不太好,即使是排名靠前的帖子。现在,跨浏览器和更干净的int/string转换。另外,我的建议是不要在代码中使用变量名“date”,比如date=date(…)
,因为您在很大程度上依赖于语言大小写敏感度(这是可行的,但在使用不同语言和不同规则的服务器/浏览器代码时会有风险)
console.log(date.getFullMinutes());
该技术是将“0”的最右边的2个字符(slice(-2))
放在getMinutes()
的字符串值上
mins = ('0'+current_date.getMinutes()).slice(-2);
及
我在这里没有看到任何ES6答案,所以我将使用StandardJS格式添加一个
"0"+"1" -> "01".slice(-2) -> "01"
//ES6字符串格式示例
常数时间=新日期()
const tempments=new Date.getMinutes()
常量分钟=(tempments<10)`0${tempments}`:tempments
优雅的ES6函数,用于将日期格式化为hh:mm:ss
:
// ES6 String formatting example
const time = new Date()
const tempMinutes = new Date.getMinutes()
const minutes = (tempMinutes < 10) ? `0${tempMinutes}` : tempMinutes
对于两位数分钟,请使用:
new Date().toLocaleFormat(“%M”)
另一种简单方法是使用以下命令在分钟内填充前导零:
const leadingZero = (num) => `0${num}`.slice(-2);
const formatTime = (date) =>
[date.getHours(), date.getMinutes(), date.getSeconds()]
.map(leadingZero)
.join(':');
含义:将字符串设为两个字符长,如果缺少一个字符,则在此位置设置0
如果您在项目中使用AngularJS,请参阅位于的文档,只需注入$filter并按如下方式使用它:
String(date.getMinutes()).padStart(2, "0");
你也可以在模板中格式化输出,更多关于过滤器的信息。这个怎么样?它对我有用!:)
另一个获得两位数分钟或小时的选项
var d = new Date();
var minutes = d.getMinutes().toString().replace(/^(\d)$/, '0$1');
使用ECMAScript国际化API:
您可以使用力矩js:
时刻(日期)。格式('mm')
示例:moment('2019-10-29T21:08')。格式('mm')=>08
希望它能帮助某人仅仅是为了相加,.getMinutes()
的返回值是一个整数,您不能从整数访问.length
。要实现这一点(处理日期时不建议这样做),请将数字解析为字符串,然后检查长度。例如:date.getMinutes().toString().length
我喜欢这个解决方案,但IE8和早期版本似乎不支持substr
的负数。它完全符合我的要求。这个@user1063287是什么意思?如果不是,它是一个内联的statement@user1063287它的意思是:“如果getMinutes()小于10,返回一个0,如果大于,返回一个空字符串。@user1063287请参见此处(条件?true:false)在PHP中,您可以省略JS中的true语句(条件?:false),然后使用(条件| false)三元运算符使用切片(-2)这是违反直觉的,但我喜欢它。这是被贬低的-当一个人无论如何都在使用时刻时,不要使用非常好的答案,谢谢:-)这样一个伟大的答案哇!这就是我一直在寻找的答案,虽然我真的很喜欢这个答案,但不幸的是它对我不起作用(在Tasker Jslet中,记录在案).被接受的答案是变通的,但很简单!于2020年11月来到这里,这是最安全的答案!
const twoDigitMinutes = date.toLocaleString('en-us', { minute: '2-digit' });
String(date.getMinutes()).padStart(2, "0");
$filter('date')(value, 'HH:mm')
var d = new Date();
var minutes = d.getMinutes().toString().replace(/^(\d)$/, '0$1');
var date = new Date("2012-01-18T16:03");
var minutes = date.toTimeString().slice(3, 5);
var hours = date.toTimeString().slice(0, 2);
const twoDigitMinutes = date.toLocaleString('en-us', { minute: '2-digit' });
var d = new Date(date);
var dd = d.getDate();
var MM = d.getMonth();
var mm = d.getMinutes();
var HH = d.getHours();
// Hour
var result = ("0" + HH).slice(-2);
// Minutes
var result = ("0" + mm).slice(-2);
// Month
var result = ("0" + MM).slice(-2);