首页 > 解决方案 > 将函数应用于函数(难以解释)

问题描述

首先,我想为这个愚蠢的问题道歉。

请看下面的代码:

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

有没有一种方法可以做到这一点?

标签: javascript

解决方案


Date.getMinutes返回一个整数,而不是一个字符串,所以你不能调用substr它。但是通过在"0" + dt.getMinutes()表达式周围添加括号,你会得到一个字符串值,你可以调用substr

var dt = new Date();
var m = ("0" + dt.getMinutes()).substr(-2);
console.log(m);


推荐阅读