当前时间减去4小时

时间:2013-08-19 11:38:28

标签: javascript jquery

new Date(new Date().setHours(new Date().getHours() - 4))

这将返回1970年的日期和时间。我想要做的是说今天的日期是2013年8月19日,时间是凌晨5点所以我想得到日期,因为它将是8/19/2013但我想要时间是1AM而不是5 AM.Any将不胜感激

3 个答案:

答案 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);

http://jsfiddle.net/G47Fh/1/

答案 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 ) );