new Date(new Date().setHours(new Date().getHours() - 4))
这将返回 1970 的日期和时间。我想做的是说今天的日期是 2013 年 8 月 19 日,时间是凌晨 5 点,所以我想按原样获得日期,即 2013 年 8 月 19 日,但我希望时间是凌晨 1 点而不是 5 点。任何帮助将不胜感激
new Date(new Date().setHours(new Date().getHours() - 4))
这将返回 1970 的日期和时间。我想做的是说今天的日期是 2013 年 8 月 19 日,时间是凌晨 5 点,所以我想按原样获得日期,即 2013 年 8 月 19 日,但我希望时间是凌晨 1 点而不是 5 点。任何帮助将不胜感激
试试这个
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
这样做是不安全的,凌晨 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);
我只需从当前时间中减去 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 ) );