作者:常思 | 来源:互联网 | 2023-09-15 08:43
首先,我想为这个笨拙的问题道歉。
请查看以下代码:
var dt = new Date(t*1000);
var m = "0" + dt.getMinutes();
根据t
变量(也称为unix时间),输出后,它可以为我们提供以下结果之一:
m = 054 // 54 minutes
m = 03 // 3 minutes
如您所见,如果分钟太多,格式化就会中断。要解决此问题,我们必须调用一个函数以仅保留最后两个字符。为此,我们将使用以下代码:
var m = "0" + dt.getMinutes();
m = m.substr(-2);
可以输出:
m = 54 // 54 minutes
m = 3 // 03 minutes
好!我们解决了这个问题,对吧?好吧,我认为连续两次设置变量是很愚蠢的。我尝试过:
var m = "0" + dt.getMinutes().substr(-2);
但是出现以下错误:
TypeError: dt.getMinutes(...).substr is not a function
有没有一种方法可以做到这一点?
Date.getMinutes
返回一个整数,而不是字符串,因此您不能在其上调用substr
。但是,通过在"0" + dt.getMinutes()
表达式周围加上括号,您可以获得字符串值,并且可以调用substr
:
var dt = new Date();
var m = ("0" + dt.getMinutes()).substr(-2);
console.log(m);