Javascript:添加没有Sum的数字?

时间:2013-07-24 16:49:06

标签: javascript node.js time amazon-ec2

我基本上试图在javascript中获取日期的小时,分​​钟和秒,如下所示:'123456'。我使用以下代码执行此操作:

var date;
date = new Date();
var time = date.getUTCHours() + date.getUTCMinutes() + date.getUTCSeconds();

唯一的问题是当我将它们加在一起时,我总是得到总和,而不是像我想要的那样好的6个数字。

任何建议?

3 个答案:

答案 0 :(得分:2)

将数值转换为字符串:

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;

答案 1 :(得分:2)

var time = '' + 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());

答案 2 :(得分:0)

这种情况正在发生,因为这些函数返回Integer类型。如果你想自己添加数字togheter,尝试使用toString()将每个变量转换为字符串