JavaScriptの日付オブジェクトtimeObjectに10秒を追加するにはどうすればよいですか。このようなものだと思います。
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
setSeconds
というメソッドもあります。
var t = new Date();
t.setSeconds(t.getSeconds() + 10);
その他のDate
関数のリストについては、 MDNをチェックしてください
setSeconds
はラップアラウンドケースを正しく処理します。
var d;
d = new Date('2014-01-01 10:11:55');
alert(d.getMinutes() + ':' + d.getSeconds()); //11:55
d.setSeconds(d.getSeconds() + 10);
alert(d.getMinutes() + ':0' + d.getSeconds()); //12:05
// var timeObject = new Date();
new Date(timeObject.getTime() + 10000);
var timeObject = new Date();
timeObject = new Date(timeObject .getTime() + 1000*10);
console.log(timeObject);
また参照してください。JavaScriptのDateオブジェクトに30分を追加する方法?
パフォーマンスマニアのためだけに。
var d = new Date('2014-01-01 10:11:55');
d = new Date(d.getTime() + 10000);
5,196,949 Ops /秒、最速
var d = new Date('2014-01-01 10:11:55');
d.setSeconds(d.getSeconds() + 10);
2,936,604 Ops /秒、43%遅い
var d = new moment('2014-01-01 10:11:55');
d = d.add(10, 'seconds');
22,549 Ops /秒、100%遅くなります
だから、おそらくそれは最も人間が読めない(それほど悪いことではないが)最も速い方法です:)
これを試して
a = new Date();
a.setSeconds(a.getSeconds() + 10);
timeObject.setSeconds(timeObject.getSeconds() + 10)
新しい亜種がいくつかあります
var t = new Date(Date.now() + 10000);
var t = new Date(+new Date() + 10000);
JavascriptのDate()
オブジェクトは、それほどスマートではありません。
単に秒を追加することに集中するならば、それは物事を円滑に処理するように思われます、しかしあなたがX秒数を追加しようとするならば、同じDate
オブジェクトにX分数と時間などを追加するでしょう。だから私は単にsetSeconds()
メソッドを使うことと私のデータを秒に変換することだけに落ちました(これはうまくいきました)。
すべてのsetメソッドを使用してグローバルDate()
オブジェクトに時間を追加して最終時間を正しく算出できることを誰かが実証できる場合は、一度に1つのsetメソッドを使用するようにします。与えられたDate()
オブジェクトに対して、それらを混ぜると混乱します。
var vTime = new Date();
var iSecondsToAdd = ( iSeconds + (iMinutes * 60) + (iHours * 3600) + (iDays * 86400) );
vTime.setSeconds(iSecondsToAdd);
今日から秒を取得し、その中に10秒を追加するだけでsetSeconds
メソッドを使用できます。
var today = new Date();
today.setSeconds(today.getSeconds() + 10);
新しい日付に10 * 1000ミリ秒を追加することができます。
var today = new Date();
today = new Date(today.getTime() + 1000*10);
setTime
を使用できます。
today.setTime(now.getTime() + 10000)