8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

javaScript 時間の取得、設定、変更についてまとめてみた

Last updated at Posted at 2021-02-24

javaScriptで時間を扱う方法についてまとめていこうと思います。

#取得方法

現在時間を取得したい時は new Date()を使います。

main.js
let d = new Date();
console.log(d) // Tue Feb 23 2021 21:56:22 GMT+0900 (日本標準時)

さらにgetTime()を使うと基準時間からの経過ミリ秒で時間を取得できます。

main.js
let d = new Date();
console.log(d.getTime()) // 1614085014353

###基準時間とは
協定世界時(UTC)1970年1月1日00:00:00からの経過時間を表すDateオブジェクトのミリ秒単位

そしてnew Date()は現在時刻だけではなく日付を指定することも可能

例 new Date(2012,4,3) → 2012-5-3 00:00:00.000
  new Date(2021,1,11,11,30,10) → 2021-2-11 11:30:10.000

*月は0~11の範囲で指定 1月→0  5月→4

##日付情報の取得

main.js
let date = new Date(2021, 1, 11,11,30,10,776); //2021-2-11- 11:30:10.776を作成
date.getFullYear(); //2021 (年)
date.getMonth(); // 1 (月)
date.getDate(); // 11 (日)
date.getDay(); // 4 (曜)
date.getHours(); // 11 (時)
date.getMinutes(); // 30 (分)
date.getSeconds(); // 10 (秒)
date.getMilliseconds(); // 776 (ミリ秒)

*getDay()は曜日
日曜日は(0) ~ 土曜日は(6)で表示される

##時間の設定,変更

main.js
let date = new Date();
date.setFullYear(2021);
date.setMonth(1);
date.setDate(11);
date.setHours(11);
date.setMinutes(30);
date.setSeconds(10);

console.log(date); // Thu Feb 11 2021 11:30:10 GMT+0900 (日本標準時)

//あとから変更も可能
date.setDate(20);
date.setHours(8);
console.log(date); // Sat Feb 20 2021 08:30:10 GMT+0900 (日本標準時)

###YYYY/MM/DD HH:MM:SS 形式に変換

main.js
let date = new Date(2010, 2, 11, 11, 24, 30, 776);

console.log(date); // Thu Mar 11 2010 11:24:30 GMT+0900 (日本標準時)
var d1 = date.getFullYear() + '/' + ('0' + (date.getMonth() + 1)).slice(-2) + '/' +('0' + date.getDate()).slice(-2) + ' ' +  ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2) + ':' + ('0' + date.getSeconds()).slice(-2) + '.' + date.getMilliseconds();
console.log(d1); // 2010/03/11 11:24:30.776

###経過時間の計算

main.js
let date1 = new Date(); //現在時刻 今回は2021/2/24 14:10:00.00
let date2 = new Date(2021, 0, 21,11,30,10); // 元の時間
let date3 = date1.getTime() - date2.getTime(); // 経過時間をミリ秒で取得
console.log(date3) // 2946590000

let sec = Math.floor(date3 / 1000 % 60);
let min = Math.floor(date3 / 1000 / 60 % 60);
let hour = Math.floor(date3 / 1000 / 60 / 60 % 24);
let day = Math.floor(date3 / 1000 / 60 / 60 / 24);

console.log(day); // 34
console.log(hour); // 2
console.log(min); // 29
console.log(sec); // 50

経過時間は 34日2時間29分50秒

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?