我基本上试图在javascript中获取日期的小时,分钟和秒,如下所示:'123456'。我使用以下代码执行此操作:
var date;
date = new Date();
var time = date.getUTCHours() + date.getUTCMinutes() + date.getUTCSeconds();
唯一的问题是当我将它们加在一起时,我总是得到总和,而不是像我想要的那样好的6个数字。
任何建议?
答案 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()将每个变量转换为字符串