JavaScriptで日付をフォーマットする方法

これが非常に一般的なタスクです。JavaScriptで日付をどのようにフォーマットしますか?

与えられた日付オブジェクト:

const date = new Date('July 22, 2018 07:22:13')

その日付を表す文字列を生成するメソッドはたくさんあります。

いくつかの組み込みのものがあります。サンプル出力を示すコメントとともに、それらすべてをリストします。

date.toString()
// "Sun Jul 22 2018 07:22:13 GMT+0200 (Central European Summer Time)"
date.toTimeString() //"07:22:13 GMT+0200 (Central European Summer Time)"
date.toUTCString() //"Sun, 22 Jul 2018 05:22:13 GMT"
date.toDateString() //"Sun Jul 22 2018"
date.toISOString() //"2018-07-22T05:22:13.000Z" (ISO 8601 format)
date.toLocaleString() //"22/07/2018, 07:22:13"
date.toLocaleTimeString()	//"07:22:13"

もちろん、これらに限定されるものではありません。より低レベルのメソッドを使用して、日付から値を取得し、必要な種類の結果を作成できます。

date.getDate() //22
date.getDay() //0 (0 means sunday, 1 means monday..)
date.getFullYear() //2018
date.getMonth() //6 (starts from 0)
date.getHours() //7
date.getMinutes() //22
date.getSeconds() //13
date.getMilliseconds() //0 (not specified)
date.getTime() //1532236933000
date.getTimezoneOffset() //-120 (will vary depending on where you are and when you check - this is CET during the summer). Returns the timezone difference expressed in minutes

これらはすべて、コンピューターの現在のタイムゾーンによって異なります。これらのメソッドには同等のUTCバージョンがあり、現在のタイムゾーンに適合した値ではなくUTC値を返します。

date.getUTCDate() //22
date.getUTCDay() //0 (0 means sunday, 1 means monday..)
date.getUTCFullYear() //2018
date.getUTCMonth() //6 (starts from 0)
date.getUTCHours() //5 (not 7 like above)
date.getUTCMinutes() //22
date.getUTCSeconds() //13
date.getUTCMilliseconds() //0 (not specified)

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: