new Date(new Date().setHours(new Date().getHours() - 4))
这将返回1970年的日期和时间。我想要做的是说今天的日期是2013年8月19日,时间是凌晨5点所以我想得到日期,因为它将是8/19/2013但我想要时间是1AM而不是5 AM.Any将不胜感激
答案 0 :(得分:1)
试试这个
var date1 = new Date();
var date2 = new Date();
date2.setHours(date1.getHours() - 4);
console.log(date1);
console.log(date2);
JS小提琴演示:http://jsfiddle.net/satpalsingh/7pypu/
有关详细信息,请访问:http://www.w3schools.com/jsref/jsref_obj_date.asp
答案 1 :(得分:1)
这样做是不安全的,凌晨03:00怎么样?它将返回-1。
使用date.getTime()
执行此操作:
var d=new Date();
var time=d.getTime();
console.log(d);
time = time - 4*1000*60*60;
d=new Date(time);
console.log(d);
答案 2 :(得分:1)
我只需从当前时间减去4小时的毫秒数:
var oneHour = 1000 * 60 * 60;
var fourHoursAgo = new Date( Date.now() - ( oneHour * 4 ) );
或
var oneHour = 1000 * 60 * 60;
var fourHoursAgo = new Date( ( new Date().getTime() ) - ( oneHour * 4 ) );