需要一些帮助来增加当前时间的额外时间
currentTime= new Date();
var hours2 = currentTime.getHours() + 4;
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);
然而它输出为:15:1455880112692PM并且似乎没有增加4.5小时?有人对此有什么想法吗?
答案 0 :(得分:2)
那是因为你没有得到分钟,你得到了Date对象。 setMinutes
方法不返回分钟,它返回Date对象本身。将Date对象转换为字符串以显示它会为您提供自纪元以来的毫秒时间。
首先转换时间,以便获得包裹的正确时间,而不是27:93
而不是04:33
。
currentTime = new Date();
currentTime.setHours(currentTime.getHours() + 4);
currentTime.setMinutes(currentTime.getMinutes() + 30);
然后你就可以得到它的小时和分钟:
var hours2 = currentTime.getHours();
var minutes2 = currentTime.getMinutes();
您可以添加270分钟,而不是添加4小时30分钟:
currentTime = new Date();
currentTime.setMinutes(currentTime.getMinutes() + 270);
答案 1 :(得分:1)
关于错误,我有一些想法:
currentTime= new Date();
var hours2 = currentTime.getHours() + 4;//doesn't call the setHours method
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);//works fine for me
所以
currentTime= new Date();
var hours2 = currentTime.setHours(currentTime.getHours() + 4);//doesn't call the setHours method
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);//works fine for me
工作正常,但是,你可以在单行中做到这一点:
currentTime.setMinutes(currentTime.getMinutes() + 270);
//or in seconds:
currentTime.setSeconds(currentTime.getSeconds() + 270*60);//16200 === 4.5 hrs
//or miliseconds:
currentTime.setTime(currentTime.getTime() + 270*60000);//16200000 === 4.5 hrs
答案 2 :(得分:0)
你永远不会设定小时数。尝试:
currentTime= new Date();
currentTime.setHours(currentTime.getHours() + 4);
currentTime.setMinutes(currentTime.getMinutes() + 30);
答案 3 :(得分:0)
试试这个我真的不知道你遇到的问题是什么? http://jsfiddle.net/H9edz/
currentTime= new Date();
var hours2 = currentTime.getHours() + 4;
var minutes2 = currentTime.setMinutes(currentTime.getMinutes() + 30);
document.write("Ending Time: " + currentTime);
document.write("<br/>");
document.write("Ending Minute: " + currentTime.getMinutes());
document.write("<br/>");
var now = new Date();
now.setMinutes(now.getMinutes() + 30);
document.write("Example Time - From Post:" + now)