首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >getMinutes() 0-9 -如何显示两位数?

getMinutes() 0-9 -如何显示两位数?
EN

Stack Overflow用户
提问于 2012-01-20 08:41:15
回答 20查看 154.4K关注 0票数 153
var date = "2012-01-18T16:03";
var date = new Date(date);

console.log(date.getMinutes());
console.log(date.getMinutes().length)

这将返回3。

  1. 如何使其返回'03'?
  2. 为什么.length返回未定义?

我试过了,但不起作用:

如果为strlen == 1,则为num = ('0' + num);

EN

回答 20

Stack Overflow用户

回答已采纳

发布于 2012-01-20 08:54:29

var date = new Date("2012-01-18T16:03");

console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );
票数 319
EN

Stack Overflow用户

发布于 2014-05-10 18:04:45

这些答案都不是很好,甚至顶部的帖子也是如此。这就是跨浏览器和更干净的int/string转换。另外,我的建议是,不要在像date = Date(...)这样的代码中使用名为'date‘的变量,因为这些代码严重依赖于区分语言大小写(这是可行的,但当您使用具有不同规则的不同语言编写的服务器/浏览器代码时,这是有风险的)。所以假设javascript Date在一个var current_date

mins = ('0'+current_date.getMinutes()).slice(-2);

这个技巧是将最右边的2个字符的(slice(-2)) "0“放在字符串值getMinutes()的前面。所以:

"0"+"12" -> "012".slice(-2) -> "12"

"0"+"1" -> "01".slice(-2) -> "01"
票数 222
EN

Stack Overflow用户

发布于 2018-02-14 18:06:10

另一种简单的方法是用前导零填充分钟数,使用:

String(date.getMinutes()).padStart(2, "0");

含义:将字符串设置为两个字符,如果缺少字符,则在此位置设置0

请参阅str.padStart(targetLength, padString)上的文档

票数 63
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8935414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档