JavaScriptでDateオブジェクト(文字列データ)に時間を追加する方法
JavaScriptで日付・時刻のデータを扱う際、「現在の時刻から2時間後」のように指定した時間を加算したいケースはよくあります。本記事では、文字列から作成したDateオブジェクトに対して、setHours()とgetHours()を組み合わせて時間を追加する方法を解説します。
1. 新しいDateオブジェクトを作成する
まずは、日時を表す文字列をもとに、新しいDateオブジェクトを作成しましょう。
var dateValue = new Date("2021-01-12 10:10:20");
2. setHours()とgetHours()で時間を追加する
getHours()メソッドで現在の「時」の値を取得し、そこに加算したい時間数を足してから、setHours()メソッドで新しい値を設定します。この組み合わせにより、簡単に時間の加算処理が実現できます。
コード例
var dateValue = new Date("2021-01-12 10:10:20");
dateValue.setHours(dateValue.getHours() + 2);
console.log("The date value is=" + dateValue.toString());
console.log("Only Hours value after incrementing=" +
dateValue.getHours());
上記のコードでは、元の時刻「10時」に「+2時間」を加算しています。
プログラムの実行方法
Node.js環境で上記のプログラムを実行するには、次のコマンドを使用します。
node fileName.js
ここでは、ファイル名をdemo291.jsとして保存しているものとします。
実行結果
プログラムを実行すると、コンソールには以下のような出力が表示されます。
PS C:\Users\Amit\javascript-code> node demo291.js The date value is=Tue Jan 12 2021 12:10:20 GMT+0530 (India Standard Time) Only Hours value after incrementing=12
出力を見ると、元の日時「Tue Jan 12 2021 10:10:20」から2時間が加算され、「12:10:20」になっていることが確認できます。また、getHours()だけを取得した場合も「12」と表示され、時間の加算が正しく反映されています。
まとめ
Dateオブジェクトへの時間の追加は、getHours()で値を取得し、加算後にsetHours()で設定するだけで完了します。同様の手法は、分(getMinutes()/setMinutes())や秒(getSeconds()/setSeconds())にも応用できるため、日付計算の基本テクニックとして覚えておくと便利です。
-
JavaScriptで現在の時刻を別のタイムゾーンの時刻に変更して表示する方法
JavaScriptのDateオブジェクトは、端末(システム)に設定されている時刻をそのまま取得して現在の日付・時刻を表示します。そのため、JavaScript単体でシステム時刻そのものを書き換えることはできません。 しかし、UTC(協定世界時)との時差であるタイムゾーンオフセットを計算に組み込むことで、あたかも別の時刻が設定されたかのように表示することが可能です。以下では、シンガポール(GMT+8)の時刻を求めるサンプルコードを紹介します。 サンプルコード <!DOCTYPE html> <html> <body>
-
OneNoteで日付と時刻を追加・編集する方法
OneNoteで新しいページを作成すると、ノートブックに日付と時刻のスタンプが自動的に追加されます。この自動の日付と時刻は編集可能で、OneNoteが提供するタイムスタンプ機能を使えば、ページに自由に日付や時刻を追加することもできます。さらに、現在の日付や過去の日付を追加したり、特定の日付を入力して祝日などの予定を記録しておくことも可能です。 OneNoteで日付と時刻を挿入する方法 タイムスタンプとは、ノートブックのページに日付や時刻を追加できるOneNoteの便利な機能です。OneNoteで利用できるタイムスタンプには、以下の3種類があります。 日付: 今日の日付を挿入します。 時刻: