JavaScriptのDate.UTCメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptのDate.UTCメソッドの使い方について現役エンジニアが解説しています。UTCは1970年1月1日 00:00:00からの経過時間をミリ秒で表す数値を返すメソッドです。時刻は地域によって変化させていきます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

JavaScriptのDate.UTCメソッドの使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をみてみましょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptのDate.UTCメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

Date.UTCメソッドとは

協定世界時 (UTC) 1970年1月1日 00:00:00からの経過時間をミリ秒で表す数値を返すメソッドです。

協定世界時 (UTC)は、平たく言うと世界の基準になる時刻で、これを基準に世界各国が時差を定めています。

日本との時差は9時間です。

 

JavaScriptは現在日時を、JavaScriptが動いているPCやスマホなどの端末の設定時刻(タイムゾーン)から取得します。

そのため、実行している端末により値が変わることがあります。

基準の1970年1月1日00:00:00からの経過時間を使用して、日時の処理を環境に左右されないようにすることが可能です。

 

Date.UTCメソッドの使い方

JavaScriptの標準で入っているDateオブジェクトのメソッドなので、下記のようにDate.UTC()という形で使いましょう。

Date.UTC(2020,1)

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

Date.UTCメソッドの引数

第1引数は年、第2引数は月でここまでは必須の引数です。

第3引数以下を省略した場合は、それぞれ一番小さな値になります。

 

例えば日なら1-31なので1になります。

第3引数は日、第4引数は時、第5引数は分、第6引数は秒、第7引数はミリ秒です。

 

実際に書いてみよう

2020年1月1日 00:00:00からのミリ秒である「1580515200000」が表示されます。

console.log(Date.UTC(2020,1));

2020年1月1日 00:00:00を、タイムゾーン設定が日本のPCで日付オブジェクトにする
実行する端末の設定によって結果が変わります。Sat Feb 01 2020 09:00:00 GMT+0900 (日本標準時) が表示されます。

console.log(new Date(Date.UTC(2020,1)));

 

まとめ

データベースやサーバー側などでUTCで日時を扱うケースは多々あります。

JavaScriptの処理で日時が少しずれる場合は、日本時間と協定世界時(UTC)の違いの可能性も疑ってみてください。

Date.UTCメソッドを使えば、必要に応じて日本標準時でも協定世界時でも対応できるかと思います。

 

執筆してくれたメンター

横山茂雄(よこやましげお)

フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。

言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。

TechAcademyジュニアのゲームアプリコースを担当しています。

 

大石ゆかり

JavaScriptのDate.UTCメソッドの使い方がよくわかったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。