Overview

Namespaces

  • Peach
    • DF
    • DT
    • Http
      • Body
      • Header
    • Markup
    • Util

Classes

  • AbstractTime
  • Clock
  • Date
  • Datetime
  • DefaultClock
  • FixedClock
  • FormatWrapper
  • HttpDateFormat
  • OffsetClock
  • ShiftFormat
  • SimpleFormat
  • TimeEquator
  • Timestamp
  • TimeWrapper
  • UnixTimeFormat
  • Util
  • W3cDatetimeFormat

Interfaces

  • Format
  • Time
  • Overview
  • Namespace
  • Class

Interface Time

ある特定の日付または時刻を表すインタフェースです. このインタフェースを実装したオブジェクトのことを「時間オブジェクト」と呼びます. 時間オブジェクトには以下の 3 種類の型があります.

  • DATE : 年・月・日のフィールドを持ちます
  • DATETIME : 年・月・日・時・分のフィールドを持ちます
  • TIMESTAMP : 年・月・日・時・分・秒のフィールドを持ちます

とある時間オブジェクトについて, そのオブジェクトの型が何かを調べるには Time::getType() メソッドを使用してください.

時間オブジェクトを操作するための各種メソッド (get, add, set, setAll など) は文字列型の引数を指定して呼び出す仕様となっていますが, 具体的には "year", "month", "date", "hour", "minute", "second" などの値を指定してください. (大文字・小文字を問いません)

具体的には以下の仕様となっています.

  • 先頭が "Y" : 年
  • 先頭が "MO" : 月
  • 先頭が "D" : 日
  • 先頭が "H" : 時
  • 先頭が "M" で始まり, 直後に "O" が続かない場合 : 分
  • 先頭が "S" : 秒

このクラスはイミュータブルであるため, 各種フィールド操作メソッド (add, set, setAll) は新しい時間オブジェクトを返すことに注意してください.

このクラスは Peach\Util\Comparable を実装しているため, Peach\Util\Arrays::sort() でソートすることが出来ます.

Peach\DT\Time implements Peach\Util\Comparable

Direct known implementers

Peach\DT\AbstractTime, Peach\DT\TimeWrapper

Indirect known implementers

Peach\DT\Date, Peach\DT\Datetime, Peach\DT\Timestamp
Namespace: Peach\DT
Located at Peach/DT/Time.php
Methods summary
public integer
# getType( )

このオブジェクトの型を返します. 返り値の数値は, 上位の (より多くのフィールドをサポートしている) 型ほど大きくなります. そのため, 2 つの時間オブジェクトの getType の返り値を比較することにより, どちらのオブジェクトのほうがサポートしているフィールドが多いか調べることができます.

このオブジェクトの型を返します. 返り値の数値は, 上位の (より多くのフィールドをサポートしている) 型ほど大きくなります. そのため, 2 つの時間オブジェクトの getType の返り値を比較することにより, どちらのオブジェクトのほうがサポートしているフィールドが多いか調べることができます.

Returns

integer
オブジェクトの型

See

Peach\DT\Time::TYPE_DATE
Peach\DT\Time::TYPE_DATETIME
Peach\DT\Time::TYPE_TIMESTAMP
public integer
# get( string $field )

指定されたフィールドの値を取得します.

指定されたフィールドの値を取得します.

Parameters

$field
フィールド名

Returns

integer
対象フィールドの値. ただしフィールド名が不正な場合は NULL
public Peach\DT\Time
# set( string $field, integer $value )

この時間オブジェクトの指定されたフィールドを上書きします.

この時間オブジェクトの指定されたフィールドを上書きします.

Parameters

$field
フィールド名
$value
設定する値

Returns

Peach\DT\Time
設定後の時間オブジェクト
public Peach\DT\Time
# setAll( Peach\Util\Map|array $subject )

この時間オブジェクトの複数のフィールドを一度に上書きします. 引数には,

array("year" => 2010, "month" => 8, "date" => 31)

などの配列か, または同様の Map オブジェクトを指定してください.

この時間オブジェクトの複数のフィールドを一度に上書きします. 引数には,

array("year" => 2010, "month" => 8, "date" => 31)

などの配列か, または同様の Map オブジェクトを指定してください.

Parameters

$subject
フィールドと値の一覧

Returns

Peach\DT\Time
設定後の時間オブジェクト
public Peach\DT\Time
# add( string $field, integer $amount )

引数のフィールドを, $amount だけ増加 (負の場合は減少) させます.

引数のフィールドを, $amount だけ増加 (負の場合は減少) させます.

Parameters

$field
対象のフィールド
$amount
加算する量. マイナスの場合は過去方向に移動する.

Returns

Peach\DT\Time
設定後の時間オブジェクト
public string
# format( Peach\DT\Format $format = null )

指定されたフォーマットを使ってこの時間オブジェクトを書式化します. フォーマットを指定しない場合はデフォルトの方法 (SQL などで使われる慣用表現) で書式化を行ないます.

指定されたフォーマットを使ってこの時間オブジェクトを書式化します. フォーマットを指定しない場合はデフォルトの方法 (SQL などで使われる慣用表現) で書式化を行ないます.

Parameters

$format
Format オブジェクト (省略可)

Returns

string
このオブジェクトの書式化. 引数を指定しない場合は "YYYY-MM-DD" あるいは "YYYY-MM-DD hh:mm:ss" などの文字列
public boolean
# equals( mixed $obj )

指定されたオブジェクトとこのオブジェクトを比較します. 二つのオブジェクトが等しいと判断された場合に TRUE を返します.

指定されたオブジェクトとこのオブジェクトを比較します. 二つのオブジェクトが等しいと判断された場合に TRUE を返します.

Parameters

$obj
比較対象のオブジェクト

Returns

boolean
二つのオブジェクトが等しい場合に TRUE, それ以外は FALSE
public boolean
# before( Peach\DT\Time $time )

指定された時間とこの時間を比較します.

指定された時間とこの時間を比較します.

もしもこのオブジェクトが持つ時間フィールドすべてが 引数のオブジェクトの時間フィールドと一致した場合, より多くの時間フィールドを持つほうが「後」となります.

例: 2012-05-21 (Date) < 2012-05-21T00:00 (Datetime) < 2012-05-21T00:00:00 (Timestamp)

Parameters

$time
比較対象の時間

Returns

boolean
この時間のほうが過去である場合は TRUE, それ以外は FALSE
public boolean
# after( Peach\DT\Time $time )

指定された時間とこの時間を比較します.

指定された時間とこの時間を比較します.

もしもこのオブジェクトが持つ時間フィールドすべてが 引数のオブジェクトの時間フィールドと一致した場合, より多くの時間フィールドを持つほうが「後」となります.

例: 2012-05-21 (Date) < 2012-05-21T00:00 (Datetime) < 2012-05-21T00:00:00 (Timestamp)

Parameters

$time
比較対象の時間

Returns

boolean
この時間のほうが未来である場合は TRUE, それ以外は FALSE
public boolean
# isLeapYear( )

この年がうるう年かどうかを判定します.

この年がうるう年かどうかを判定します.

うるう年の判別ルールは以下の通りです. - 4 で割り切れるはうるう年である - ただし 100 で割り切れる年はうるう年ではない - ただし 400 で割り切れる年はうるう年である

Returns

boolean
うるう年である場合に TRUE, それ以外は FALSE
public integer
# getDay( )

この日付の曜日を返します. 返される値は 0 から 6 までの整数で, 0 が日曜, 6 が土曜をあらわします. それぞれの整数は, このクラスで定義されている各定数に対応しています.

この日付の曜日を返します. 返される値は 0 から 6 までの整数で, 0 が日曜, 6 が土曜をあらわします. それぞれの整数は, このクラスで定義されている各定数に対応しています.

Returns

integer
曜日 (0 以上 6 以下の整数)

See

Peach\DT\Time::SUNDAY
Peach\DT\Time::MONDAY
Peach\DT\Time::TUESDAY
Peach\DT\Time::WEDNESDAY
Peach\DT\Time::THURSDAY
Peach\DT\Time::FRIDAY
Peach\DT\Time::SATURDAY
public integer
# getDateCount( )

この月の日数を返します.

この月の日数を返します.

Returns

integer
この月の日数. すなわち, 28 から 31 までの整数.
public Peach\DT\Time
# toDate( )

このオブジェクトを DATE 型にキャストします. このメソッドの返り値は以下の性質を持ちます.

このオブジェクトを DATE 型にキャストします. このメソッドの返り値は以下の性質を持ちます.

  • 年・月・日のフィールドをサポートします.
  • Time::getType を実行した場合 Time::TYPE_DATE を返します.

デフォルトの実装では Peach\DT\Date 型にキャストします.

Returns

Peach\DT\Time
DATE 型の時間オブジェクト
public Peach\DT\Time
# toDatetime( )

このオブジェクトを DATETIME 型にキャストします. このメソッドの返り値は以下の性質を持ちます.

このオブジェクトを DATETIME 型にキャストします. このメソッドの返り値は以下の性質を持ちます.

  • 年・月・日・時・分のフィールドをサポートします.
  • Time::getType を実行した場合 Time::TYPE_DATETIME を返します.

デフォルトの実装では Peach\DT\Datetime オブジェクトを返します.

Returns

Peach\DT\Time
DATETIME 型の時間オブジェクト
public Peach\DT\Time
# toTimestamp( )

このオブジェクトを TIMESTAMP 型にキャストします. このメソッドの返り値は以下の性質を持ちます.

このオブジェクトを TIMESTAMP 型にキャストします. このメソッドの返り値は以下の性質を持ちます.

  • 年・月・日・時・分・秒のフィールドをサポートします.
  • Time::getType を実行した場合 Time::TYPE_TIMESTAMP を返します.

デフォルトの実装では Peach\DT\Timestamp オブジェクトを返します.

Returns

Peach\DT\Time
TIMESTAMP 型の時間オブジェクト
public string
# formatTime( )

この時間の時刻 (時・分・秒) 部分を書式化します. 返される文字列はタイプによって以下の通りとなります.

この時間の時刻 (時・分・秒) 部分を書式化します. 返される文字列はタイプによって以下の通りとなります.

  • DATE : 空文字列
  • DATETIME : "hh:mm"
  • TIMESTAMP : "hh:mm:ss"

Returns

string
時刻部分の文字列. このオブジェクトが時刻をサポートしない場合は空文字列.
Methods inherited from Peach\Util\Comparable
compareTo()
Constants summary
integer TYPE_DATE

このオブジェクトが年・月・日のフィールドをサポートしていることを示します.

このオブジェクトが年・月・日のフィールドをサポートしていることを示します.

# 129
integer TYPE_DATETIME

このオブジェクトが年・月・日・時・分のフィールドをサポートしていることを示します.

このオブジェクトが年・月・日・時・分のフィールドをサポートしていることを示します.

# 130
integer TYPE_TIMESTAMP

このオブジェクトが年・月・日・時・分・秒のフィールドをサポートしていることを示します.

このオブジェクトが年・月・日・時・分・秒のフィールドをサポートしていることを示します.

# 131
integer SUNDAY

日曜日をあらわす定数です.

日曜日をあらわす定数です.

# 0
integer MONDAY

月曜日をあらわす定数です

月曜日をあらわす定数です

# 1
integer TUESDAY

火曜日をあらわす定数です

火曜日をあらわす定数です

# 2
integer WEDNESDAY

水曜日をあらわす定数です

水曜日をあらわす定数です

# 3
integer THURSDAY

木曜日をあらわす定数です

木曜日をあらわす定数です

# 4
integer FRIDAY

金曜日をあらわす定数です

金曜日をあらわす定数です

# 5
integer SATURDAY

土曜日をあらわす定数です

土曜日をあらわす定数です

# 6
PEACH2 API documentation generated by ApiGen