SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

マンガで分かるプログラミング用語辞典

「タイムゾーン」
~マンガでプログラミング用語解説

マンガで分かるプログラミング用語辞典(155)

解説

 「タイムゾーン」は、同じ標準時を利用する地域を指します。一国の中に複数のタイムゾーンがある場合もあれば、そうでない場合もあります。

 日本では同じ時刻を使い、その標準時は、兵庫県明石市を通る東経135度の経線を基準としています。そしてUTCに9時間を加えた値なので「UTC+9」と表記します。「UTC+9」は、日本以外にも韓国やインドネシアの東部、パラオや東ティモールなどがあります。

 「+」が付いた場合は、UTCより早く時間が訪れ、「-」が付いた場合は、UTCより遅く時間が訪れます。

 タイムゾーンにはIDがあり、日本の標準時を指す場合は「Asia/Tokyo」となります。韓国の場合は「Asia/Seoul」となり、同じ「UTC+9」ですが違うIDとなります。

 タイムゾーンによっては夏時間(サマータイム)があります。夏時間がある場合、時間が切り替わるタイミングで時間が飛んだり、戻るタイミングで時間が重複したりします。こうした計算を自前でおこなうのは非効率なので、プログラミング言語で推奨されている関数やライブラリを使った方がよいです。

 ネットを介して全世界に公開するプログラムでは、こうしたタイムゾーンの知識が必須となります。同じサービスでも、見に来る人の地域によって時刻は違います。そうした差異を吸収して、プログラムを動かす必要があります。

サンプル

 「タイムゾーン」のサンプルです。ファイルはUTF-8で保存してください。検証はGoogle Chromeで行なっています。

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>「タイムゾーン」のサンプル</title>
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
        <style>input[type="text"] {width: 100%;}</style>
        <script>
$(function() {
    const $tm1 = $('#tm1');
    const $tm2 = $('#tm2');
    const $tm3 = $('#tm3');

    setInterval(() => {
        const d = new Date();
        $tm1.val(d.toLocaleString('ja-JP', { timeZone: 'UTC' }));
        $tm2.val(d.toLocaleString('ja-JP', { timeZone: 'Africa/Cairo' }));
        $tm3.val(d.toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' }));
    }, 100);
});
        </script>
    </head>
    <body>
        UTC<br>
        <input type="text" id="tm1"><br>
        <br>
        Africa/Cairo<br>
        <input type="text" id="tm2"><br>
        <br>
        Asia/Tokyo<br>
        <input type="text" id="tm3"><br>
    </body>
</html>
フィードバックお待ちしております!

 ご感想、解説して欲しい用語、解説内容のアドバイスなどございましたら、FacebookTwitterなどでお気軽に編集部までお寄せください。よろしくお願いいたします。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
マンガで分かるプログラミング用語辞典連載記事一覧

もっと読む

この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11658 2019/09/17 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー