0
0

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 学習記録 #2 Dateオブジェクト

Last updated at Posted at 2020-05-19
1 / 2

12時間時計にする方法:point_up:

24時間表記で表示されるのは、getHoursメソッドで取得できる数字をそのまま出力しているためです。
Dateオブジェクトに12時間表記の時間を取得できるメソッドはないため、加工が必要です。

15:13 を 3:13 p.m とするためには・・・?:thinking:

方法はいくつかあります。

①コードの書き方はこんな感じ:point_down:

date.js

<script>
    'use strict';
    
    const now = new Date();
    const year = now.getFullYear();
    const month = now.getMonth();
    const date = now.getUTCDate();
    const hour = now.getHours();
    const min = now.getUTCMinutes();
    let ampm = '';
    if(hour < 12){
        ampm = 'a.m.';
    }else{
        ampm = 'a.m.';
    }
    
    const output = `${year}/${month + 1}/${date} ${hour}:${min}`;
    document.getElementById('time').textContent = output;
</script>

②処理の流れ:point_down:

24時間表記を12時間表記にするには、大きく分けて2つの処理が必要である。

1⃣ 現在時刻は午前「a.m.」なのか「p.m.」なのか判別する

プログラムの最初の部分で変数ampmを定義し、空の文字列(文字数が0個の文字列)を代入する。そして、定数hourに保存されている数値が12より小さい、現在時間が0時~11時の場合、変数ampmに「a.m.」を代入する。定数hourの値が12以上の場合は「p.m.」を代入する。

2⃣ 0~23の数字を0~11に変換する

定数outputに代入するときには、24時間表記の時間を12で割った余りを計算すれば良い。
 ${hour % 12 }

※ 「どう処理すれば良いか」を考えることが大切:point_up:
 
 

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?