我已经写了这个函数来获取当前时间,就像自定义时间戳一样,我得到了意想不到的结果。 当前分钟是" 00"到" 09",Javascript方法getMinutes()从" 0"返回至" 9"分别。我使用开关来获取这种情况并添加另一个" 0"在前面,但它没有按预期工作。
这是我的完整代码:
function horaActual() {
var d = new Date();
var dia = '';
var hora = '';
var minutos = '';
switch (d.getDay()) {
case 0:
dia = 'Dom';
break;
case 1:
dia = 'Lun';
break;
case 2:
dia = 'Mar';
break;
case 3:
dia = 'Mie';
break;
case 4:
dia = 'Jue';
break;
case 5:
dia = 'Vie';
break;
case 6:
dia = 'Sáb';
break;
};
switch (d.getHours()) {
case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9:
hora = '0' + String(d.getHours());
break;
default:
hora = String(d.getHours());
break;
};
switch (d.getMinutes()) {
case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9:
minutos = '0' + String(d.getMinutes());
break;
default:
minutos = String(d.getMinutes());
break;
};
return String(dia + ' ' + hora + ':' + minutos);
}

例如,现在函数返回" Lun 17:5"何时应该返回"伦17:05"。
欢迎任何评论!
答案 0 :(得分:2)
切换语句在javascript中不起作用,相反,它将是:
switch (d.getMinutes()) {
case 0:
case 1:
case 2: // etc...
case 9:
minutos = '0' + String(d.getMinutes());
break;
default:
minutos = String(d.getMinutes());
break;
};
但是一定要尽量避免重新发明轮子 - 那里有大量的JS日期/时间库可以为你完成这项工作。
答案 1 :(得分:1)
您应该使用if
语句而不是switch
语句。类似的东西:
if (d.getMinutes() <= 9) {
minutos = '0' + String(d.getMinutes());
}
else {
minutos = String(d.getMinutes());
}