前 - 上 - 次 - 目次

# Time

  時刻オブジェクト．`Time.now`は現在の時刻を返しま す．`File#stat`の返 すファイルのタイムスタンプは`Time`オブジェクトで す．

  `Time`オブジェクトは時刻を起算時からの経過秒数で保持しています． 起算時は協定世界時(UTC，もしくはその旧称からGMTとも表記されます) の1970年1月1日午前0時です． なお，うるう秒を勘定するかどうかはシステムによります．

## スーパークラス:

  `Object`

## インクルードしているモジュール:

  `Comparable`

## クラスメソッド:

  `now`

    現在時刻の`Time`オブジェクトを返します．

  `at(time)`

    timeで指定した時刻の`Time`オブジェクト を返します．timeは`Time`オブジェクト， もしく起算時からの経過秒数を表わす整数か浮動小数点数です．

  `gm(year, month, day, hour, min, sec)`

    引数で指定した協定世界時の`Time`オブジェクトを返しま す．第2引数以降は省略可能で，省略した場合の値はその引数がと り得る最小の値です．

    monthは1(1月)から12(12月)の範囲の整数または英語の 月名，または1から12までの数を表わす文字列で指定します．

    引数の数がTime#to_aと全く同じ場合(こちら は秒が先頭に来る形式ですが)，その順序を正しく解釈します．

  `local(year, month, day, hour, min, sec)`
  `mktime(year, month, day, hour, min, sec)`

    引数で指定したローカルタイムの`Time`オブジェクトを返しま す．引数の扱いは`gm`と同じです．

  `times`

    自身のプロセスとその子プロセスが消費したユーザ/システムCPU 時間の積算を構造体として返します．

    >     utime		# user time
    >     stime		# system time
    >     cutime		# user time of children
    >     cstime		# system time of children

    時間の単位は秒で，浮動小数点数で与えられます．詳細は ``times(3)'`を参照してください．

## メソッド:

  `self + other`

    `self`よりotherだけ後の時刻を返します

  `self - other`

    otherが`Time`オブジェクトである時，ふ たつの時刻の差を実数で返します．otherが数値である 時にはselfよりotherだけ前の時刻を返し ます．

  `self <=> other`

    時刻の比較．otherは`Time`オブジェクト か数値でなければなりません．数値の場合は起算時からの経過秒数 とみなして比較します．

  `asctime`
  `ctime`

    時刻を``asctime(3)'`の形式の文字列に変換します．

  `to_s`

    時刻を``date(1)'`のような形式の文字列に変換します．

  `gmtime`

    タイムゾーンを協定世界時に設定します． このメソッドを呼び出した後は時刻変換を協定世界時として行ないます． 協定世界時を表示するためには以下のようにします．

    >     print Time.now.gmtime, "\n"

    `gmtime`は自分自身を返します．

  `localtime`

    タイムゾーンをローカルタイムに設定します(デフォルト)．

    `localtime`(`gmtime`も)の挙動はシステ ムの`localtime(3)`の挙動に依存します． `Time`クラスでは時刻を起算時からの経過秒数として保持していますが， ある特定の時刻までの経過秒は，システムがうるう秒を勘定するか どうかによって異なる場合があります．システムを越えて`Time` オブジェクトを受け渡す場合には注意する必要があります．

  `to_i`
  `tv_sec`

    起算時からの経過秒数を整数で返します．

  `sec`
  `min`
  `hour`
  `mday`
  `day`
  `mon`
  `month`
  `year`
  `wday`
  `yday`
  `zone`
  `isdst`

    内部的に保持している`tm`構造体の内容を返します． `zone`以外は整数を返します．`zone`はタ イムゾーンを表す文字列を返します．(`localtime(3)` 参照)

    注意: Cのtm構造体とは異なり，`month`は1月に対して1を返し， `year`は1998年に対して1998を返します． また、`yday`は1から数えます．

  `strftime(format)`

    時刻をformat文字列に従って文字列に変換した結果を 返します．format文字列として指定できるものは 以下 の通りです．

    `%A`
      曜日の名称(Sunday, Monday...)
    `%a`
      曜日の省略名(Sun, Mon...)
    `%B`
      月の名称(January, February...)
    `%b`
      月の省略名(Jan, Feb...)
    `%c`
      日付と時刻
    `%d`
      日(01-31)
    `%H`
      24時間制の時(00-23)
    `%I`
      12時間制の時(01-12)
    `%j`
      年中の通算日(001-366)
    `%M`
      分(00-59)
    `%m`
      月を表す数字(01-12)
    `%p`
      午前または午後(AM,PM)
    `%S`
      秒(00-60)
    `%U`
      週を表す数．最初の日曜日が第1週の始まり(00-53)
    `%W`
      週を表す数．最初の月曜日が第1週の始まり(00-53)
    `%w`
      曜日を表す数．日曜日が0(0-6)
    `%X`
      時刻
    `%x`
      日付
    `%Y`
      西暦を表す数
    `%y`
      西暦の下2桁(00-99)
    `%Z`
      タイムゾーン
    `%%`
      %自身
  `to_a`

    tm構造体の中身を配列にして返します．その順序は:

    - sec
    - min
    - hour
    - mday
    - mon
    - year
    - wday
    - yday
    - isdst
    - zone

    です．

  `to_f`

    起算時からの経過秒数を浮動小数点数で返します． 1秒に満たない経過も表現されます．

  `usec`
  `tv_usec`

    時刻のマイクロ秒の部分を返します．

前 - 上 - 次 - 目次

matz@netlab.co.jp