本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[MSC]時間関数の使用期限と注意点

文書番号: 400553

最終更新日: 1999/08/19


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP400553

概要

この資料は、時間を処理するランタイムライブラリ関数の使用期限と注意点について 説明したものです。

詳細

時間を処理するプログラムでは、まずハードウェアや DOS そのものが扱える期間を
考慮する必要があります。
過去については、DOS では 1980年より前の時間をサポートしていません。
未来については、DOS により異なりますが関数の限界が先になりますので、必要に
応じて DOS の仕様をご確認ください。
時間関数は、万国標準時 (UCT) 1900/01/01 00:00:00 からの経過時間を秒単位で
地方標準時への修正を伴い処理します。
環境変数 TZ で設定する地方標準時のデフォルトは太平洋標準時 (PST8PDT) です。
putenv 関数と tzset 関数を利用するなどの方法で日本時間 (JST-9) を指定しないと 春と秋に夏時間調整による誤差が生じるなどの問題が発生します。
万国標準時と日本時間の差は 32400(秒) です。
時間関数で使用する time_t 型の定義は unsigned long ですので、0 から
4,294,967,295( =ULONG_MAX ) まで扱えます。
mktime 関数のマニュアル,ヘルプには、エラー時の戻り値は time_t 型にキャスト
された -1 を返すとありますが、これは適切な表現ではありません。
各時間関数の使用期限は以下の通りです。
  関数名     変換元                              変換後
  ------------------------------------------------------------------
  time       システム時間 2036/02/06 15:28:15    ULONG_MAX
  ftime      システム時間 2036/02/06 15:28:15    ULONG_MAX
  ctime      ULONG_MAX -32401                    2036/02/06 06:28:14
  localtime  ULONG_MAX -32401                    2036/02/06 06:28:14
  gmtime     ULONG_MAX -1                        2036/02/06 06:28:14
  mktime     2036/02/06 06:28:14                 ULONG_MAX -1
  asctime    tm 構造体で許される値
  strftime   tm 構造体で許される値
ctime, asctime 関数は、静的に割り当てられた共通のバッファ (文字列) を使用
します。
ctime, gmtime, localtime, mktime 関数は、静的に割り当てられた共通のバッ
ファ (tm 構造体) を使用します。
関数の呼び出しにより、以前の呼出結果は破壊されますので必要に応じて別の
バッファにコピーしてください。

詳細

  • Visual C++ は、米国 Microsoft Corporation の商標です。

Keywords: C7 KBINFO KB400553
Technology: kbAudDeveloper kbVCsearch kbZNotKeyword3 kbZNotKeyword8

inserted by FC2 system