JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで日付から秒・ミリ秒を削除し、ISO文字列に変換する方法

はじめに

JavaScriptでは、日時データから秒やミリ秒の情報を取り除き、整形されたISO形式の文字列として扱いたいケースがあります。たとえば、分単位までの日時をAPIに送信したい場合などが該当します。

本記事では、setSeconds()メソッドとtoISOString()メソッドを組み合わせて、この処理を実現する手順を解説します。

手順1:現在の日付を取得する

まず、Dateオブジェクトを使って現在の日付を取得しましょう。

var currentDate = new Date();
console.log("現在の日付は以下の通りです=" + currentDate);

手順2:setSeconds()で秒とミリ秒をリセットする

setSeconds()メソッドは、第2引数にミリ秒を指定できます。両方に0を渡すことで、秒とミリ秒をまとめてリセット可能です。

currentDate.setSeconds(0, 0);

第1引数が「秒」、第2引数が「ミリ秒」に対応しています。このように引数を2つ指定すれば、1回の呼び出しで両方を0にできるのがポイントです。

手順3:toISOString()でISO文字列に変換する

toISOString()メソッドを使うと、日付を「YYYY-MM-DDTHH:mm:ss.sssZ」というISO 8601形式の文字列に変換できます。

currentDate.toISOString();

完全なコード例

ここまでの手順をまとめた完全なコードは以下の通りです。

var currentDate = new Date();
console.log("現在の日付は以下の通りです=" + currentDate);
currentDate.setSeconds(0, 0);
console.log("秒を削除した後の新しい日付は以下の通りです=");
console.log(currentDate.toISOString());

実行方法

上記のプログラムを実行するには、Node.js環境で次のコマンドを使用します。ここではファイル名を demo143.js としています。

node demo143.js

実行結果

実行すると、以下のような出力が得られます。

PS C:\Users\Amit\JavaScript-code> node demo143.js
現在の日付は以下の通りです=Sat Aug 01 2020 18:20:09 GMT+0530 (India Standard Time)
秒を削除した後の新しい日付は以下の通りです=
2020-08-01T12:50:00.000Z

結果の解説

出力を比較すると、元の日時は「18:20:09」と秒が09だったのに対し、処理後のISO文字列では秒とミリ秒が「00.000」になっていることがわかります。これにより、分単位までの整った日時データを取得できました。

なお注意点として、toISOString()は常にUTC(協定世界時)基準で文字列を出力します。上の例でも、現地時刻の18:20がUTCの12:50として出力されています。ローカルタイムゾーンのまま文字列化したい場合は、別途フォーマット処理が必要になるので覚えておきましょう。

  1. 【JavaScript入門】文字列を繰り返す方法 – Array()とjoin()を組み合わせた実装例

    JavaScriptである文字列を指定した回数だけ繰り返して表示したい場合、Array()コンストラクタとjoin()メソッドを組み合わせることで簡単に実現できます。 仕組みの解説 new Array(value + 1)は、要素数が「value + 1」個の空の配列を生成します。この空の配列に対してjoin(this)を実行すると、各要素の間に区切り文字として自分自身(対象の文字列)が挿入されます。要素が value + 1 個あれば間は value 個できるため、結果的に元の文字列が value 回繰り返されるという仕組みです。 サンプルコード 以下に実際のコード例を示します。 <!

  2. AndroidでISO 8601形式の日付文字列をDateオブジェクトに変換する方法

    この記事では、Androidアプリ開発において、ISO 8601形式の日付・時刻文字列をDateオブジェクトに変換する方法を、実際のサンプルコードとともにステップごとに解説します。 手順1:新規プロジェクトの作成 まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを生成してください。 手順2:レイアウトファイル(activity_main.xml)の編集 res/layout/activity_main.xmlに以下のコードを記述します。ここでは、画面中央に日付を表示するためのT