Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:添加数字而不求和?_Javascript_Node.js_Time_Amazon Ec2 - Fatal编程技术网

Javascript:添加数字而不求和?

Javascript:添加数字而不求和?,javascript,node.js,time,amazon-ec2,Javascript,Node.js,Time,Amazon Ec2,我基本上是想让javascript中日期的小时、分钟和秒读成这样:“123456”。我使用以下代码执行此操作: var date; date = new Date(); var time = date.getUTCHours() + date.getUTCMinutes() + date.getUTCSeconds(); 唯一的问题是,当我把它们加在一起时,我总是得到总和,而不是我想要的6个数字 有什么建议吗?将数值转换为字符串: var date; date = new Date(); va

我基本上是想让javascript中日期的小时、分钟和秒读成这样:“123456”。我使用以下代码执行此操作:

var date;
date = new Date();
var time = date.getUTCHours() + date.getUTCMinutes() + date.getUTCSeconds();
唯一的问题是,当我把它们加在一起时,我总是得到总和,而不是我想要的6个数字


有什么建议吗?

将数值转换为字符串:

var date;
date = new Date();
var time = date.getUTCHours().toString() + date.getUTCMinutes().toString() + date.getUTCSeconds().toString();
如果希望长度始终为6个字符,则需要填充<10的值。例如:

var hours = date.getUTCHours();
if (hours < 10)
     hours = '0' + hours.toString();
else hours = hours.toString();

var mins = date.getUTCMinutes();
if (mins < 10)
     mins = '0' + mins.toString();
else mins = mins.toString();

var secs = date.getUTCSeconds();
if (secs < 10)
     secs = '0' + secs.toString();
else secs = secs.toString();

var time = hours + mins + secs;
var hours=date.getUTCHours();
如果(小时<10)
小时数='0'+小时数.toString();
else hours=hours.toString();
var mins=date.getUTCMinutes();
如果(分钟<10)
分钟='0'+分钟.toString();
else mins=mins.toString();
var secs=date.getUTCSeconds();
如果(秒<10)
secs='0'+secs.toString();
else secs=secs.toString();
var时间=小时+分钟+秒;

将数值转换为字符串:

var date;
date = new Date();
var time = date.getUTCHours().toString() + date.getUTCMinutes().toString() + date.getUTCSeconds().toString();
如果希望长度始终为6个字符,则需要填充<10的值。例如:

var hours = date.getUTCHours();
if (hours < 10)
     hours = '0' + hours.toString();
else hours = hours.toString();

var mins = date.getUTCMinutes();
if (mins < 10)
     mins = '0' + mins.toString();
else mins = mins.toString();

var secs = date.getUTCSeconds();
if (secs < 10)
     secs = '0' + secs.toString();
else secs = secs.toString();

var time = hours + mins + secs;
var hours=date.getUTCHours();
如果(小时<10)
小时数='0'+小时数.toString();
else hours=hours.toString();
var mins=date.getUTCMinutes();
如果(分钟<10)
分钟='0'+分钟.toString();
else mins=mins.toString();
var secs=date.getUTCSeconds();
如果(秒<10)
secs='0'+secs.toString();
else secs=secs.toString();
var时间=小时+分钟+秒;
编辑: 要解释零填充,可以执行以下操作:

function format(x){
    if (x < 10) return '0' + x;
    return x;
}

var date;
date = new Date();
var time = '' + format(date.getUTCHours()) + format(date.getUTCMinutes()) + format(date.getUTCSeconds());
函数格式(x){
如果(x<10)返回“0”+x;
返回x;
}
风险值日期;
日期=新日期();
变量时间=''+格式(date.getUTCHours())+格式(date.getUTCMinutes())+格式(date.getUTCSeconds());
编辑: 要解释零填充,可以执行以下操作:

function format(x){
    if (x < 10) return '0' + x;
    return x;
}

var date;
date = new Date();
var time = '' + format(date.getUTCHours()) + format(date.getUTCMinutes()) + format(date.getUTCSeconds());
函数格式(x){
如果(x<10)返回“0”+x;
返回x;
}
风险值日期;
日期=新日期();
变量时间=''+格式(date.getUTCHours())+格式(date.getUTCMinutes())+格式(date.getUTCSeconds());


发生这种情况是因为这些函数返回整数类型。如果要将数字本身添加到一起,请尝试使用toString()将每个变量转换为字符串,因为这些函数返回整数类型。如果要将数字本身添加到一起,请尝试使用toString()将每个变量转换为字符串。

为什么要使用前面的
+
将它们转换为数字(特别是因为它们已经是数字)?使用
var time=“”+date.getUTCHours()+date.getUTCMinutes()+date.getUTCSeconds()”;
对不起,这不是我的意思,我只是在尝试不同的东西。我编辑了我的问题。@Ian-你是对的,这是错误的,但没有转换成数字。getUTC(小时|分钟|秒)返回一个数值,而不是字符串。是否希望1:23:05这样的时间显示1235或012305?在1235情况下,使用Ian的答案;在012305情况下,必须使用Geoffrey的第二个响应,因为只有它用零填充一位数。@Geoffrey the
+
转换为数字,因此尽管这些值已经是数字(我在评论中提到过),这就是它在这种情况下的作用。为什么要用前面的
+
将它们转换成数字(尤其是因为它们已经是数字了)?使用
var time=“”+date.getUTCHours()+date.getUTCMinutes()+date.getUTCSeconds()
对不起,这不是我的本意,我只是在尝试不同的东西。我编辑了我的问题。@Ian-你是对的,这是错误的,但没有转换成数字。getUTC(小时|分钟|秒)返回一个数值,而不是字符串。是否希望1:23:05这样的时间显示1235或012305?在1235情况下,使用Ian的答案;在012305情况下,必须使用Geoffrey的第二个响应,因为只有它用零填充一位数。@Geoffrey the
+
转换为数字,因此尽管这些值已经是数字(我在评论中提到过),它在这种情况下所做的事情很愚蠢。只需使用
var time=“”开始串联即可+date.getUTC…
Perfect,这正是我想要的!谢谢!看起来两种解决方案都能工作。我总是需要它是6个字符,这样我就可以实现您的更改…再次感谢!@Ian-如果您愿意,您可以这样做,但我是一个纯粹的编码风格者,喜欢编写关于其功能的代码。每个都可以他们自己的。那太傻了。只要用
var time=“”开始串联就可以了+date.getUTC…
Perfect,这正是我想要的!谢谢!看起来两种解决方案都能工作。我总是需要它是6个字符,这样我就可以实现您的更改…再次感谢!@Ian-如果您愿意,您可以这样做,但我是一个纯粹的编码风格者,喜欢编写关于其功能的代码。每个都可以他们自己的。我实际上更喜欢这个解决方案,但我似乎无法让零填充工作。我是否像你在这里展示的那样插入它?我实际上更喜欢这个解决方案,但我似乎无法让零填充工作。我是否像你在这里展示的那样插入它?