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

Class SimpleFormat

Java の SimpleDateFormat と同じような使い勝手で, ユーザー定義の書式を扱うことができるクラスです. 日付・時刻のパターンは www.php.net/manual/function.date.php date() の一部を採用しています.

  • Y: 年 (4桁固定)
  • m: 月 (2桁固定)
  • n: 月 (1~2桁)
  • d: 日 (2桁固定)
  • j: 日 (1~2桁)
  • H: 時 (2桁固定)
  • G: 時 (1~2桁)
  • i: 分 (2桁固定)
  • s: 秒 (2桁固定)

以下は, このクラス独自の拡張パターンです.

  • f: 分 (1~2桁)
  • b: 秒 (1~2桁)
  • E: 曜日 (後述)

"2012年5月21日(月)" のように曜日を含む書式の入出力を行う場合は, コンストラクタの第 2 引数に曜日文字列の一覧を指定してください. 以下に例を示します.

$format = new SimpleFormat("Y年n月j日(E)", array("日", "月", "火", "水", "木", "金", "土"));

第 2 引数を省略した場合はデフォルト値として array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") が適用されます.

パターンを繋げて記述する場合は (例: "Ymd_His" など) 必ず固定長のパターンを使用してください. 可変長 (n, j, G など) のパターンは常に最長一致でマッチングするため, 繋げて記述した際にパースに失敗する可能性があります.

このクラスは, 月の文字列表記 (例えば "Jan", "Feb" など) のためのパターンをサポートしません. そのようなフォーマットが必要となった場合は, 独自の Format クラスを定義する必要があります.

パースまたは書式化を行う際, 情報が足りない場合はデフォルト値が指定されます. 年・月・日については現在の日付, 時・分・秒については 0 が適用されます. 具体的には, 以下のような状況が相当します.

  1. パースする際, オブジェクトを構成するために必要な情報をパターン文字列が網羅していなかった. (例: "m/d" というパターンをパースした場合, 「年」の情報がパターン文字列に含まれていないため, 現在の年が適用されます)
  2. 時間オブジェクトを書式化する際に, パターン文字列に含まれるフィールドを そのオブジェクトが持っていなかった. (例: "Y/m/d H:i:s" というパターンで Date オブジェクトを書式化した場合, Date は時刻の情報を持たないため, 時刻部分は 00:00:00 となります.)

PHP の date() 関数の実装と同様に, バックスラッシュをつけることでパターン文字列が展開されるのを抑制することができます.

このクラスはイミュータブルです. 一つのオブジェクトを複数の箇所で使いまわすことが出来ます.

Peach\DT\SimpleFormat implements Peach\DT\Format
Namespace: Peach\DT
Located at Peach/DT/SimpleFormat.php
Methods summary
public
# __construct( string $pattern, array $dayList = array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") )

指定されたパターン文字列で SimpleFormat を初期化します.

指定されたパターン文字列で SimpleFormat を初期化します.

Parameters

$pattern
パターン文字列
$dayList
曜日文字列の配列. デフォルトは array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
public string
# getFormat( )

このオブジェクトのパターン文字列を返します.

このオブジェクトのパターン文字列を返します.

Returns

string
パターン文字列
public Peach\DT\Date
# parseDate( string $format )

指定された文字列を解析し, Date に変換します.

指定された文字列を解析し, Date に変換します.

Parameters

$format
解析対象の文字列

Returns

Peach\DT\Date
解析結果

Implementation of

Peach\DT\Format::parseDate()
public Peach\DT\Datetime
# parseDatetime( string $format )

指定された文字列を解析し, Datetime に変換します.

指定された文字列を解析し, Datetime に変換します.

Parameters

$format
解析対象の文字列

Returns

Peach\DT\Datetime
解析結果

Implementation of

Peach\DT\Format::parseDatetime()
public Peach\DT\Date
# parseTimestamp( string $format )

指定された文字列を解析し, Timestamp に変換します.

指定された文字列を解析し, Timestamp に変換します.

Parameters

$format
解析対象の文字列

Returns

Peach\DT\Date
解析結果

Implementation of

Peach\DT\Format::parseTimestamp()
public string
# formatDate( Peach\DT\Date $d )

指定された Date オブジェクトを書式化します.

指定された Date オブジェクトを書式化します.

Parameters

$d
書式化対象の時間オブジェクト

Returns

string
このフォーマットによる文字列表現

Implementation of

Peach\DT\Format::formatDate()
public string
# formatDatetime( Peach\DT\Datetime $d )

指定された Datetime オブジェクトを書式化します.

指定された Datetime オブジェクトを書式化します.

Parameters

$d
書式化対象の時間オブジェクト

Returns

string
このフォーマットによる文字列表現

Implementation of

Peach\DT\Format::formatDatetime()
public string
# formatTimestamp( Peach\DT\Timestamp $d )

指定された Timestamp オブジェクトを書式化します.

指定された Timestamp オブジェクトを書式化します.

Parameters

$d
書式化対象の時間オブジェクト

Returns

string
このフォーマットによる文字列表現

Implementation of

Peach\DT\Format::formatTimestamp()
PEACH2 API documentation generated by ApiGen