# 日付関数全般用の定数

Zend_Date のメソッドでパラメータ `$parts` を持つものはすべて、以下の定数のいずれかをパラメータとして指定できます。 これにより、日付の中の特定の要素や使用する書式 (例: RFC 822) を指定します。

## 定数の使用

たとえば、定数`Zend_Date::HOUR` の使用法は次のようになります。 曜日・時・分・秒・その他の要素が世界各地でさまざまな形式で表されていたとしても、 オブジェクトのタイムゾーン設定を使用して自動的に正しい値で計算を行います。 これは、内部のタイムスタンプの値が何であるかや ユーザが世界中のどこにいるかとは関係がありません。 使用する単位にかかわらず、出力結果は GMT あるいは UTC あるいはロケールにあわせて地域化された形式となります。 以下の出力サンプルは、 Europe/GMT+1 (ドイツ、オーストリア、フランスなど) にあわせて地域化された形式です。

Zend_Date::HOUR を使用した操作

メソッド | 説明 | 元の日付 | 結果
--- | --- | --- | ---
get(Zend_Date::HOUR) | 時間を出力する | 2009-02-13T14:53:27+01:00 | 14
set(12, Zend_Date::HOUR) | 新しい時間を設定する | 2009-02-13T14:53:27+01:00 | 2009-02-13T12:53:27+01:00
add(12, Zend_Date::HOUR) | 時間を足す | 2009-02-13T14:53:27+01:00 | 2009-02-14T02:53:27+01:00
sub(12, Zend_Date::HOUR) | 時間を引く | 2009-02-13T14:53:27+01:00 | 2009-02-13T02:53:27+01:00
compare(12, Zend_Date::HOUR) | 時間を比較し、0 か 1 あるいは -1 を返す | 2009-02-13T14:53:27+01:00 | 1 (オブジェクト > 引数 の場合)
copy(Zend_Date::HOUR) | 時間部のみをコピーする | 2009-02-13T14:53:27+01:00 | 1970-01-01T14:00:00+01:00
equals(14, Zend_Date::HOUR) | 時間を比較し、`TRUE` あるいは `FALSE` を返す | 2009-02-13T14:53:27+01:00 | `TRUE`
isEarlier(12, Zend_Date::HOUR) | 時間を比較し、`TRUE` あるいは `FALSE` を返す | 2009-02-13T14:53:27+01:00 | `TRUE`
isLater(12, Zend_Date::HOUR) | 時間を比較し、`TRUE` あるいは `FALSE` を返す | 2009-02-13T14:53:27+01:00 | `FALSE`

## 全定数の一覧

日付/時刻の各要素に対応する定数が Zend_Date で定義されています。 Zend_Date がサポートするすべての定数を以下に示します。

日に関する定数

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::DAY` | 日 (二桁の数値) | 2009-02-13T14:53:27+01:00 | 13
`Zend_Date::DAY_SHORT` | 日 (一桁あるいは二桁の数値) | 2009-02-13T14:53:27+01:00 | 6
`Zend_Date::WEEKDAY` | 曜日 (地域化された完全な曜日名) | 2009-02-13T14:53:27+01:00 | Friday
`Zend_Date::WEEKDAY_SHORT` | 曜日 (地域化された曜日名の短縮形。２ないし４文字) | 2009-02-13T14:53:27+01:00 | Fri が金曜日を表す
`Zend_Date::WEEKDAY_NAME` | 曜日 (地域化された曜日名の短縮形。１ないし２文字) | 2009-02-13T14:53:27+01:00 | Fr が金曜日を表す
`Zend_Date::WEEKDAY_NARROW` | 曜日 (地域化された曜日名の短縮形。一文字) | 2009-02-13T14:53:27+01:00 | F が金曜日を表す
`Zend_Date::WEEKDAY_DIGIT` | 曜日 (0 = 日曜日, 6 = 土曜日) | 2009-02-13T14:53:27+01:00 | 5 が金曜日を表す
`Zend_Date::WEEKDAY_8601` | ISO 8601 にもとづく曜日 (1 = 月曜日, 7 = 日曜日) | 2009-02-13T14:53:27+01:00 | 5 が金曜日を表す
`Zend_Date::DAY_OF_YEAR` | 日数 (一桁あるいは二桁の数値) | 2009-02-13T14:53:27+01:00 | 43
`Zend_Date::DAY_SUFFIX` | 英語で日付の後に追加する文字 (st, nd, rd, th) | 2009-02-13T14:53:27+01:00 | th

週に関する定数

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::WEEK` | 週 (1 から 53 までの数値) | 2009-02-13T14:53:27+01:00 | 7

月に関する定数

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::MONTH_NAME` | 月 (地域化された完全な月名) | 2009-02-13T14:53:27+01:00 | February
`Zend_Date::MONTH_NAME_SHORT` | 月 (地域化された月名の短縮形。２ないし４文字) | 2009-02-13T14:53:27+01:00 | Feb
`Zend_Date::MONTH_NAME_NARROW` | 月 (地域化された月名の短縮形。１ないし２文字) | 2009-02-13T14:53:27+01:00 | F
`Zend_Date::MONTH` | 月 (二桁の月番号) | 2009-02-13T14:53:27+01:00 | 02
`Zend_Date::MONTH_SHORT` | 月 (一桁あるいは二桁の月番号) | 2009-02-13T14:53:27+01:00 | 2
`Zend_Date::MONTH_DAYS` | 当月の日数 (数値) | 2009-02-13T14:53:27+01:00 | 28

年に関する定数

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::YEAR` | 年 (数値) | 2009-02-13T14:53:27+01:00 | 2009
`Zend_Date::YEAR_8601` | ISO 8601 の年 (数値) | 2009-02-13T14:53:27+01:00 | 2009
`Zend_Date::YEAR_SHORT` | 年 (二桁の数値) | 2009-02-13T14:53:27+01:00 | 09
`Zend_Date::YEAR_SHORT_8601` | ISO 8601 の年 (二桁の数値) | 2009-02-13T14:53:27+01:00 | 09
`Zend_Date::LEAPYEAR` | 今年がうるう年かどうか? (`TRUE` あるいは `FALSE`) | 2009-02-13T14:53:27+01:00 | `FALSE`

時間に関する定数

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::HOUR` | 時 (00-23、二桁) | 2009-02-13T14:53:27+01:00 | 14
`Zend_Date::HOUR_SHORT` | 時 (0-23、一桁あるいは二桁) | 2009-02-13T14:53:27+01:00 | 14
`Zend_Date::HOUR_SHORT_AM` | 時 (1-12、一桁あるいは二桁) | 2009-02-13T14:53:27+01:00 | 2
`Zend_Date::HOUR_AM` | 時 (01-12、二桁) | 2009-02-13T14:53:27+01:00 | 02
`Zend_Date::MINUTE` | 分 (00-59、二桁) | 2009-02-13T14:53:27+01:00 | 53
`Zend_Date::MINUTE_SHORT` | 分 (0-59、一桁あるいは二桁) | 2009-02-13T14:03:27+01:00 | 3
`Zend_Date::SECOND` | 秒 (00-59、二桁) | 2009-02-13T14:53:27+01:00 | 27
`Zend_Date::SECOND_SHORT` | 秒 (0-59、一桁あるいは二桁) | 2009-02-13T14:53:07+01:00 | 7
`Zend_Date::MILLISECOND` | ミリ秒 (理論上は無限大) | `2009-02-13T14:53:27.20546` | 20546
`Zend_Date::MERIDIEM` | その日の中での時間 (午前/午後) | 2009-02-13T14:53:27+01:00 | afternoon
`Zend_Date::SWATCH` | Swatch Internet Time | 2009-02-13T14:53:27+01:00 | 620

タイムゾーンに関する定数

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::TIMEZONE` | タイムゾーン名 (省略形文字列) | 2009-02-13T14:53:27+01:00 | CET
`Zend_Date::TIMEZONE_NAME` | タイムゾーン名 (文字列) | 2009-02-13T14:53:27+01:00 | `Europe/Paris`
`Zend_Date::TIMEZONE_SECS` | GMT との時差を表す秒数 (integer) | 2009-02-13T14:53:27+01:00 | 3600 seconds to GMT
`Zend_Date::GMT_DIFF` | GMT との時差を表す秒数 (文字列) | 2009-02-13T14:53:27+01:00 | +0100
`Zend_Date::GMT_DIFF_SEP` | GMT との時差を表す秒数 (文字列、分割形式) | 2009-02-13T14:53:27+01:00 | +01:00
`Zend_Date::DAYLIGHT` | 夏時間かそうでないか? (`TRUE` あるいは `FALSE`) | 2009-02-13T14:53:27+01:00 | `FALSE`

日付フォーマットに関する定数 (タイムゾーンを含むフォーマット)

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::ISO_860`1 | ISO 8601 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | 2009-02-13T14:53:27+01:00
`Zend_Date::RFC_2822` | RFC 2822 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | Fri, 13 Feb 2009 14:53:27 +0100
`Zend_Date::TIMESTAMP` | Unix time (1970 年 1 月 1 日からの経過秒数) | 2009-02-13T14:53:27+01:00 | 1234533207
`Zend_Date::ATOM` | ATOM 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | 2009-02-13T14:53:27+01:00
`Zend_Date::COOKIE` | クッキー形式の日付 (クッキー用の文字列) | 2009-02-13T14:53:27+01:00 | `Friday, 13-Feb-09 14:53:27 Europe/Paris`
`Zend_Date::RFC_822` | RFC 822 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | Fri, 13 Feb 09 14:53:27 +0100
`Zend_Date::RFC_850` | RFC 850 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | `Friday, 13-Feb-09 14:53:27 Europe/Paris`
`Zend_Date::RFC_1036` | RFC 1036 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | Fri, 13 Feb 09 14:53:27 +0100
`Zend_Date::RFC_1123` | RFC 1123 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | Fri, 13 Feb 2009 14:53:27 +0100
`Zend_Date::RFC_3339` | Date according to RFC 3339 (string) | 2009-02-13T14:53:27+01:00 | 2009-02-13T14:53:27+01:00
`Zend_Date::RSS` | RSS フィード形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | Fri, 13 Feb 2009 14:53:27 +0100
`Zend_Date::W3C` | HTML あるいは HTTP 用の W3C 形式の日付 (文字列) | 2009-02-13T14:53:27+01:00 | 2009-02-13T14:53:27+01:00

特に注意すべきなのは `Zend_Date::DATES` です。これは、 Zend_Date で 入力 フォーマットを指定する際に使用すると、特別な働きをします。 入力フォーマットとして `$part` で使用すると、 この定数は、さまざまな類似日付書式をできるだけ受け入れようとします。 経験則にもとづいて入力日付文字列を自動的に分解し、単純なエラーを (もしあれば) できるだけ修正します。たとえば年、月、日の順序がおかしい場合などです。

日付および時刻フォーマットに関する定数 (ロケールによって変化する書式)

定数 | 説明 | 日付 | 結果
--- | --- | --- | ---
`Zend_Date::ERA` | 時代 (地域化された文字列の短縮形) | 2009-02-13T14:53:27+01:00 | AD (紀元後)
`Zend_Date::ERA_NAME` | 時代 (地域化された文字列の完全系) | 2009-02-13T14:53:27+01:00 | anno domini (紀元後)
Zend_Date::DATES | 標準の日付 (地域化された文字列、デフォルト値) | 2009-02-13T14:53:27+01:00 | 13.02.2009
`Zend_Date::DATE_FULL` | 完全な日付 (地域化された文字列、完全形) | 2009-02-13T14:53:27+01:00 | Friday, 13. February 2009
`Zend_Date::DATE_LONG` | 長い日付 (地域化された文字列、長い形式) | 2009-02-13T14:53:27+01:00 | 13. February 2009
`Zend_Date::DATE_MEDIUM` | 通常の日付 (地域化された文字列、通常の形式) | 2009-02-13T14:53:27+01:00 | 13.02.2009
`Zend_Date::DATE_SHORT` | 省略形の日付 (地域化された文字列、短縮形式) | 2009-02-13T14:53:27+01:00 | 13.02.09
`Zend_Date::TIMES` | 標準の時刻 (地域化された文字列、デフォルト値) | 2009-02-13T14:53:27+01:00 | 14:53:27
`Zend_Date::TIME_FULL` | 完全な時刻 (地域化された文字列、完全形) | 2009-02-13T14:53:27+01:00 | 14:53 Uhr CET
`Zend_Date::TIME_LONG` | 長い時刻 (地域化された文字列、長い形式) | 2009-02-13T14:53:27+01:00 | 14:53:27 CET
`Zend_Date::TIME_MEDIUM` | 通常の時刻 (地域化された文字列、通常の形式) | 2009-02-13T14:53:27+01:00 | 14:53:27
`Zend_Date::TIME_SHORT` | 省略形の時刻 (地域化された文字列、短縮形式) | 2009-02-13T14:53:27+01:00 | 14:53
Zend_Date::DATETIME | 標準の日付・時刻 (地域化された文字列、デフォルト値) | 2009-02-13T14:53:27+01:00 | 13.02.2009 14:53:27
`Zend_Date::DATETIME_FULL` | 完全な日付・時刻 (地域化された文字列、完全な形式) | 2009-02-13T14:53:27+01:00 | Friday, 13. February 2009 14:53 Uhr CET
`Zend_Date::DATETIME_LONG` | 長い日付・時刻 (地域化された文字列、長い形式) | 2009-02-13T14:53:27+01:00 | 13. February 2009 14:53:27 CET
`Zend_Date::DATETIME_MEDIUM` | 通常の日付・時刻 (地域化された文字列、通常の形式) | 2009-02-13T14:53:27+01:00 | 13.02.2009 14:53:27
`Zend_Date::DATETIME_SHORT` | 省略形の日付・時刻 (地域化された文字列、短縮形式) | 2009-02-13T14:53:27+01:00 | 13.02.09 14:53

## ISO 書式指定子を使用して自分で定義する出力フォーマット

上で示したもの意外の日付書式が必要な場合は、以下に示す ISO 書式トークンを使用して自分で書式を定義します。 以下の例は、下の表の定数を用いて独自の ISO 書式を作成する方法を示すものです。 書式の長さは無制限で、同じ定数を複数回使用してもかまいません。

もし PHP 風の日付書式のほうがなじみがあるのなら、 ISO 書式ではなく PHP の書式を用いるように変更することも可能です。 しかし、ISO で定められているすべての書式が PHP の日付書式で指定できるわけではありません。 Zend_Date::setOptions(array('format_type' => 'php')) メソッドを使用すると、 Zend_Date のメソッドで ISO 書式指定子ではなく PHP の date() での指定子を用いるようになります (以下の PHP の date() 関数の書式指定子を使用して 自分で定義する出力フォーマット を参照ください)。

ISO 書式を使用した独自書式

    $locale = new Zend_Locale('de_AT');
    $date = new Zend_Date(1234567890, false, $locale);
    print $date->toString("'Era:GGGG='GGGG, ' Date:yy.MMMM.dd'yy.MMMM.dd");

ISO 8601 日付出力に関する定数

定数 | 説明 | 対応する要素 | 結果
--- | --- | --- | ---
G | 時代 (地域化された省略形) | `Zend_Date::ERA` | AD
GG | 時代 (地域化された省略形) | `Zend_Date::ERA` | AD
`GGG` | 時代 (地域化された省略形) | `Zend_Date::ERA` | AD
`GGGG` | 時代 (地域化された完全形) | `Zend_Date::ERA_NAME` | anno domini
`GGGGG` | 時代 (地域化された省略形) | `Zend_Date::ERA` | a
y | 年 (最低一桁) | `Zend_Date::YEAR` | 9
yy | 年 (最低二桁) | `Zend_Date::YEAR_SHORT` | 09
yyy | 年 (最低三桁) | `Zend_Date::YEAR` | 2009
yyyy | 年 (最低四桁) | `Zend_Date::YEAR` | 2009
yyyyy | 年 (最低五桁) | `Zend_Date::YEAR` | 02009
Y | ISO 8601 形式の年 (最低一桁) | `Zend_Date::YEAR_8601` | 9
YY | ISO 8601 形式の年 (最低二桁) | `Zend_Date::YEAR_SHORT_8601` | 09
`YYY` | ISO 8601 形式の年 (最低三桁) | `Zend_Date::YEAR_8601` | 2009
`YYYY` | ISO 8601 形式の年 (最低四桁) | `Zend_Date::YEAR_8601` | 2009
`YYYYY` | ISO 8601 形式の年 (最低五桁) | `Zend_Date::YEAR_8601` | 02009
M | 月 (一桁あるいは二桁) | `Zend_Date::MONTH_SHORT` | 2
MM | 月 (二桁) | `Zend_Date::MONTH` | 02
`MMM` | 月 (地域化された省略形) | `Zend_Date::MONTH_NAME_SHORT` | Feb
`MMMM` | 月 (地域化された完全形) | `Zend_Date::MONTH_NAME` | February
`MMMMM` | 月 (地域化された省略形、一桁) | `Zend_Date::MONTH_NAME_NARROW` | F
w | 週 (一桁あるいは二桁) | `Zend_Date::WEEK` | 5
ww | 週 (二桁) | `Zend_Date::WEEK` | 05
d | その月の日付 (一桁あるいは二桁) | `Zend_Date::DAY_SHORT` | 9
dd | その月の日付 (二桁) | `Zend_Date::DAY` | 09
D | その年の日付 (一桁、二桁あるいは三桁) | `Zend_Date::DAY_OF_YEAR` | 7
DD | その年の日付 (二桁あるいは三桁) | `Zend_Date::DAY_OF_YEAR` | 07
`DDD` | その年の日付 (三桁) | `Zend_Date::DAY_OF_YEAR` | 007
E | 曜日 (地域化された省略形、一文字) | `Zend_Date::WEEKDAY_NARROW` | M
EE | 曜日 (地域化された省略形、二文字以上) | `Zend_Date::WEEKDAY_NAME` | Mo
`EEE` | 曜日 (地域化された省略形、三文字) | `Zend_Date::WEEKDAY_SHORT` | Mon
`EEEE` | 曜日 (地域化された完全形) | `Zend_Date::WEEKDAY` | Monday
`EEEEE` | 曜日 (地域化された省略形、一桁) | `Zend_Date::WEEKDAY_NARROW` | M
e | 曜日番号 (一桁) | `Zend_Date::WEEKDAY_DIGIT` | 4
ee | 曜日番号 (二桁) | `Zend_Date::WEEKDAY_NARROW` | 04
a | 午前/午後 (地域化された形式) | `Zend_Date::MERIDIEM` | vorm.
h | 時間 (1-12) (一桁あるいは二桁) | `Zend_Date::HOUR_SHORT_AM` | 2
hh | 時間 (01-12) (二桁) | `Zend_Date::HOUR_AM` | 02
H | 時間 (0-23) (一桁あるいは二桁) | `Zend_Date::HOUR_SHORT` | 2
HH | 時間 (00-23) (二桁) | `Zend_Date::HOUR` | 02
m | 分 (0-59) (一桁あるいは二桁) | `Zend_Date::MINUTE_SHORT` | 2
mm | 分 (00-59) (二桁) | `Zend_Date::MINUTE` | 02
s | 秒 (0-59) (一桁あるいは二桁) | `Zend_Date::SECOND_SHORT` | 2
ss | 秒 (00-59) (二桁) | `Zend_Date::SECOND` | 02
S | ミリ秒 | `Zend_Date::MILLISECOND` | 20536
z | タイムゾーン (地域化された省略形) | `Zend_Date::TIMEZONE` | CET
zz | タイムゾーン (地域化された省略形) | `Zend_Date::TIMEZONE` | CET
zzz | タイムゾーン (地域化された省略形) | `Zend_Date::TIMEZONE` | CET
zzzz | タイムゾーン (地域化された完全形) | `Zend_Date::TIMEZONE_NAME` | Europe/Paris
Z | タイムゾーンの時差 | `Zend_Date::GMT_DIFF` | +0100
ZZ | タイムゾーンの時差 | `Zend_Date::GMT_DIFF` | +0100
`ZZZ` | タイムゾーンの時差 | `Zend_Date::GMT_DIFF` | +0100
`ZZZZ` | タイムゾーンの時差 (分割形式) | `Zend_Date::GMT_DIFF_SEP` | +01:00
A | 実績日付からのミリ秒 | `Zend_Date::MILLISECOND` | 20563

デフォルトの ISO フォーマットは、PHP のフォーマットとは異なることに注意しましょう。 これまでに使ったことがない方は、少々いらいらするかもしれません。 特に、「年」と「分」 に関する指定子については、なかなか期待通りに動作しないことでしょう。

「年」 については、間違えやすい指定子がふたつあります。 ISO 形式の年を表す Y 指定子と、 実際の年を表す y 指定子です。 両者の違いは些細なものではありますが、非常に重要です。 Y は ISO 形式の年を算出するものです。 これは、カレンダーを作成する際によく用いられます。 2007 年 12 月 31 日を例にとって考えてみましょう。 実際の年は 2007 ですが、この日は 2008 年の最初の週 (第 1 週) の最初の日でもあります。 したがって、'dd.MM.yyyy' として場合は '31.December.2007' が得られますが、'dd.MM.YYYY' とした場合の結果は '31.December.2008' となるのです。これはバグではなく、期待通りの振る舞いです。 これが、ふたつの指定子の違いとなります。

「分」 の場合は、違いはそれほど大きくはありません。ISO では「分」 を表す指定子として m を使用します。PHP が使っている i ではありません。分を取得する書式指定をする際には、 正しい指定子を使っているかどうかを確認するようにしましょう。

## PHP の date() 関数の書式指定子を使用して自分で定義する出力フォーマット

もし PHP の日付書式指定子のほうが ISO 書式指定子よりなじみがあるのなら、 Zend_Date::setOptions(array('format_type' => 'php')) を使用しましょう。これで、 Zend_Date のメソッドで ISO 書式指定子ではなく PHP の date() での指定子を用いるようになります その後の書式パラメータは、すべて PHP の date() 書式指定子 に従うようになります。PHP の日付書式には含まれていないけれども ISO の書式には含まれるもの、 またその逆もあります。もしそれほど PHP の日付書式になじみがないのなら、標準の ISO 書式を使用しましょう。既存のコードで PHP の日付書式をしているものがある場合は Zend_Locale_Format::convertPhpToIsoFormat() で ISO 書式に変換するか、setOptions() を使用します。次の例は、下の表の定数を用いて独自の書式を定義するものです。

PHP の指定子を使用した独自書式

    $locale = new Zend_Locale('de_AT');
    Zend_Date::setOptions(array('format_type' => 'php'));
    $date = new Zend_Date(1234567890, false, $locale);

    // 出力は 'February 16, 2007, 3:36 am' のようになります
    print $date->toString('F j, Y, g:i a');

    print $date->toString("'Format:D M j G:i:s T Y='D M j G:i:s T Y");

PHP の日付書式と定数の使用について

Zend_Date の定数は ISO 記法を使っているということに注意しましょう。 つまり、Zend_Date で PHP 記法を使うように設定している場合は、Zend_Date の定数は使えません。自分で書式を定義する必要があります。 この忠告に従わなければ、予期せぬ結果を得ることになるでしょう。

次の表は、PHP の日付書式指定子とそれに対応する Zend_Date の定数、 そして同等な CLDR/ISO 書式指定子を示したものです。 たいていの場合は、もし CLDR/ISO 書式に同等のものがなければ Zend_Locale_Format::convertPhpToIsoFormat() で PHP の書式指定子がそのまま残されます。そして Zend_Date のメソッドは、たとえ "ISO" 書式モードであったとしても、これらの PHP "独特の" 書式指定を理解します。

PHP の日付出力用の定数

定数 | 説明 | 対応する要素 | CLDR での同等の指定子 | 結果
--- | --- | --- | --- | ---
d | その月の日付 (二桁) | `Zend_Date::DAY` | dd | 09
D | 曜日 (地域化された省略形、三文字) | `Zend_Date::WEEKDAY_SHORT` | EEE | Mon
j | その月の日付 (一桁あるいは二桁) | `Zend_Date::DAY_SHORT` | d | 9
l (小文字の L) | 曜日 (地域化された完全形) | `Zend_Date::WEEKDAY` | EEEE | Monday
N | 曜日番号 (一桁) | `Zend_Date::WEEKDAY_8601` | e | 4
S | 英語の日付の後につける接尾辞 (二文字) | なし | なし | st
w | 曜日番号 (0=日曜日、6=土曜日) | `Zend_Date::WEEKDAY_DIGIT` | なし | 4
z | その年の日付 (一桁、二桁あるいは三桁) | `Zend_Date::DAY_OF_YEAR` | D | 7
W | 週 (一桁あるいは二桁) | `Zend_Date::WEEK` | w | 5
F | 月 (地域化された完全形) | `Zend_Date::MONTH_NAME` | MMMM | February
m | 月 (二桁) | `Zend_Date::MONTH` | MM | 02
M | 月 (地域化された省略形) | `Zend_Date::MONTH_NAME_SHORT` | MMM | Feb
n | 月 (一桁あるいは二桁) | `Zend_Date::MONTH_SHORT` | M | 2
t | その月の日数 (一桁あるいは二桁) | `Zend_Date::MONTH_DAYS` | なし | 30
L | うるう年かどうか | `Zend_Date::LEAPYEAR` | なし | `TRUE`
o | ISO 8601 形式の年 (最低四桁) | `Zend_Date::YEAR_8601` | YYYY | 2009
Y | 年 (最低四桁) | `Zend_Date::YEAR` | yyyy | 2009
y | 年 (最低二桁) | `Zend_Date::YEAR_SHORT` | yy | 09
a | 午前/午後 (地域化された形式) | `Zend_Date::MERIDIEM` | a (sort of, but likely to be uppercase) | vorm.
A | 午前/午後 (地域化された形式) | `Zend_Date::MERIDIEM` | a (sort of, but no guarantee that the format is uppercase) | VORM.
B | Swatch インターネット時間 | `Zend_Date::SWATCH` | なし | 1463
g | 時間 (1-12) (一桁あるいは二桁) | `Zend_Date::HOUR_SHORT_AM` | h | 2
G | 時間 (0-23) (一桁あるいは二桁) | `Zend_Date::HOUR_SHORT` | H | 2
h | 時間 (01-12) (二桁) | `Zend_Date::HOUR_AM` | hh | 02
H | 時間 (00-23) (二桁) | `Zend_Date::HOUR` | HH | 02
i | 分 (00-59) (二桁) | `Zend_Date::MINUTE` | mm | 02
s | 秒 (00-59) (二桁) | `Zend_Date::SECOND` | ss | 02
e | タイムゾーン (地域化された完全形) | `Zend_Date::TIMEZONE_NAME` | zzzz | Europe/Paris
I | 夏時間 | `Zend_Date::DAYLIGHT` | なし | 1
O | タイムゾーンの時差 | `Zend_Date::GMT_DIFF` | Z、ZZ あるいは `ZZZ` | +0100
P | タイムゾーンの時差 (分割形式) | `Zend_Date::GMT_DIFF_SEP` | ZZZZ | +01:00
T | タイムゾーン (地域化された省略形) | `Zend_Date::TIMEZONE` | z、zz あるいは zzz | CET
Z | タイムゾーンの時差秒数 | `Zend_Date::TIMEZONE_SECS` | なし | 3600
c | 標準の Iso 書式の出力 | `Zend_Date::ISO_8601` | なし | 2004-02-12T15:19:21+00:00
r | 標準の Rfc 2822 書式の出力 | `Zend_Date::RFC_2822` | なし | Thu, 21 Dec 2000 16:01:07 +0200
U | Unix タイムスタンプ | `Zend_Date::TIMESTAMP` | なし | 15275422364