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

これは 1970 の日付と時刻を返します。私がやりたいのは、今日の日付が 2013 年 8 月 19 日で、時刻が午前 5 時なので、2013 年 8 月 19 日の日付をそのまま取得したいのですが、午前 5 時ではなく午前 1 時になりたいということです。助けていただければ幸いです

4

3 に答える 3

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/

于 2013-08-19T11:43:11.140 に答える
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 ) );
于 2013-08-19T11:43:20.517 に答える
1

これを試して

var date1 = new Date();
var date2 = new Date();

date2.setHours(date1.getHours() - 4);
console.log(date1);
console.log(date2);

JS Fiddle デモ: http://jsfiddle.net/satpalsingh/7pypu/

詳細については、http ://www.w3schools.com/jsref/jsref_obj_date.asp をご覧ください。

于 2013-08-19T11:40:33.313 に答える