日時 のバックアップ(No.2)


日時

標準規格

日付の標準規格

  • JIS X 0301
    • ISO 8601 を拡張して、元号による年表現が可能
    • 元号表現
      • 「明/大/昭/平」or「M/T/S/H」
      • 区切り文字「-/.」
      • 年2桁

日時の標準規格(ISO 8601 - 拡張仕様)

  • フォーマット
    • YYYY-MM-DDTHH:mm:ss.sssZ
    • YYYY-MM-DDTHH:mm:ss.sss[+/-]HH:mm
  • 年/月/日/時/分/秒/ミリ秒(数値)
    YYYY年(グレゴリオ暦)。0000~9999(4桁)
    MM月。01~12(2桁)
    DD日。01~31(2桁)
    HH時。00~23(2桁)※24時間法
    mm分。00~59(2桁)
    ss秒。00~59(2桁)
    sssミリ秒。000~999(3桁)
  • 区切り文字(記号)
    T「年月日T時分秒」の区切り文字(セパレータ)
    :「時:分:秒」の区切り文字(セパレータ)
    .「秒.ミリ秒」の区切り文字(セパレータ)
  • タイムゾーン指定子 ※上記「年/月/日/時/分/秒/ミリ秒」の末尾に記す
    Z「年/月/日/時/分/秒/ミリ秒」がUTC日時であることを表す。
    [+/-]HH:mmUTC日時からの時差を表す。
  • その他
    • タームゾーン識別子を省略した場合、UTC日時とみなされる。
    • 前方からの省略はできないが、後方からの省略は可能。省略した場合、最小値とみなされる。
  • 例:日本の時差を調整した時刻「2018年8月13日 19時00分」
    2018-08-13T10:00:002018年8月13日10時00分(UTC)
    2018-08-13T10:00:00Z2018年8月13日10時00分(UTC)
    2018-08-13T19:00:00+09:002018年8月13日19時00分(JST)

日時の標準規格(RFC2822)

  • HTTP日付
  • フォーマット
    • 曜日, DD MM YYYY HH:mm:ss [+/-]HHmm

タイムゾーン

  • UTC
    • Coordinated Universal Time
    • 協定世界時
  • JST
    • 日本標準時。UTCより9時間遅いので「+0900」となる。
  • tz database
  • GMT
    • グリニッジ標準時

エポック秒

  • UNIX時間
  • UNIX時刻
  • 1970年1月1日午前0時0分0秒(世界標準時)からの秒数で時刻を表現したもの。
  • 2038年問題
    • データ型を32bit(4Byte)で扱っている場合「2038年1月19日3時14分7秒」(世界標準時)が閾値となり、閾値を超えることによる不具合が発生する可能性がある。

うるう秒

  • うるう秒の調整として1日を24時間に1秒加える調整。
    • 1月1日または7月1日の直前で1秒追加または削除して調整する。
  • エポック秒
    • うるう秒を含まない。
    • うるう秒の調整時に1秒巻き戻る。
    • ミリ秒等の1秒未満の時刻を扱う場合、1秒巻き戻りの考慮不足があると一意性と連続性が担保されなくなる。
  • NTPを使った時刻同期の方法
    • STEPモード
    • SLEWモード
    • スミアモード

Excel時刻

  • 1900年1月0日午前0時0分0秒を数値0として保持している。
  • 整数部は日付、小数部は時刻。
    • 1900年1月1日午前0時0分0秒は数値1。
    • 1900年1月1日午後0時0分0秒は数値1.5。
    • 1900年1月2日午前0時0分0秒は数値2。
    • 1901年1月1日午前0時0分0秒は数値367。

書式

  • yyyy/mm/dd hh:mm:ss.000

時刻同期プロトコル

  • NTP -Network Time Protocol
  • Roughtime - 時刻同期プロトコル(google)
  • PTP -Precision Time Protocol

GPS衛生の発信情報

  • 週と秒の2つを送信
    • 10bit(1024)
    • 1024の次は0に戻る
  • 604799の次は0に戻る

関連サイト

関連用語