DT

クラス: Peach_DT_HttpDateFormat

定義: /Peach/DT/HttpDateFormat.php

HTTP-Date の書式を扱うクラスです.

parse 系メソッドは, 以下の 3 種類のフォーマットを解釈することが出来ます.

  1. "Fri, 13 Feb 2009 23:31:30 GMT"   #RFC 822, updated by RFC 1123
  1. "Friday, 13-Feb-09 23:31:30 GMT"  #RFC 850, obsoleted by RFC 1036
  1. "Fri Feb 13 23:31:30 2009"        #ANSI C's asctime() format

format 系メソッドは, 一番上の RFC 1123 形式のフォーマットで文字列を生成します.

このクラスは parse および format を行う際に, 内部時刻と GMT の自動変換を行います.

参考文献: モジュール版PHPで「If-Modified-Since」に対応する

すべての実装されたインタフェース

メソッド

メソッド 詳細

static getInstance

line 77

static Peach_DT_HttpDateFormat getInstance([bool $clearCache = false])

デフォルトのインスタンスを返します.

このメソッドは引数なしでコンストラクタを呼び出した場合と同じ結果を返しますが, 返り値がキャッシュされるため, 複数の場所で同じインスタンスを使いまわすことができます.

システムのタイムゾーン設定を動的に変更した場合は, 変更前のキャッシュを破棄する必要があるため, 引数 $clearCache に TRUE を指定して実行してください.

Tags

  • return : デフォルトのインスタンス
  • access : public

Parameters

bool $clearCache キャッシュを破棄してインスタンスを再生成する場合は TRUE

constructor __construct

line 61

Peach_DT_HttpDateFormat __construct([int $offset = null])

新しいフォーマットを生成します.

引数 $offset を指定した場合, parse または format を行った際に, 指定された時差の量だけ時刻に補正がかかります. もしも時差に応じた自動変換が必要ない場合は $offset に 0 を指定してください.

引数を省略した場合は, システム時刻の時差 (Peach_DT_Util::getTimeZoneOffset() の返り値と等価) を使用します. 特に必要がなければ引数なしのコンストラクタを使う代わりに getInstance() を使ってください.

Tags

  • access : public

引数

int   $offset   時間オブジェクトの時差 (単位は分, 省略した場合はシステム設定の値を使用)

formatDate

line 158

string formatDate(Peach_DT_Date $d)

この日付の 00:00 の時刻を GMT に変換した結果を Http-date にして返します.

例えばシステム時刻の時差が UTC+9 だった場合, 前日の 15:00 の HTTP-date 表現を返り値とします.

Tags

  • return : この日付の HTTP-date 表現
  • access : public

引数

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

定義

Peach_DT_Format::formatDate()
指定された Peach_DT_Date オブジェクトを書式化します.

formatDatetime

line 169

string formatDatetime(Peach_DT_Datetime $d)

この時刻の HTTP-date 表現を返します.

Tags

  • return : この時刻の HTTP-date 表現
  • access : public

引数

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

定義

Peach_DT_Format::formatDatetime()
指定された Peach_DT_Datetime オブジェクトを書式化します.

formatTimestamp

line 189

string formatTimestamp(Peach_DT_Timestamp $d)

この時刻の HTTP-date 表現を返します.

Tags

  • return : この時刻の HTTP-date 表現
  • access : public

引数

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

定義

Peach_DT_Format::formatTimestamp()
指定された Peach_DT_Timestamp オブジェクトを書式化します.

parseDate

line 93

Peach_DT_Date parseDate(string $format)

parseTimestamp() の実行結果を Peach_DT_Date にキャストします.

Tags

  • return : 変換結果
  • throws : InvalidArgumentException フォーマットが不正な場合
  • access : public

引数

string   $format   HTTP-date 形式の文字列

定義

Peach_DT_Format::parseDate()
指定された文字列を解析して DATE 型の時間オブジェクトに変換します.

parseDatetime

line 105

Peach_DT_Datetime parseDatetime(string $format)

parseTimestamp() の実行結果を Peach_DT_Datetime にキャストします.

Tags

  • return : 変換結果
  • throws : InvalidArgumentException フォーマットが不正な場合
  • access : public

引数

string   $format   HTTP-date 形式の文字列

定義

Peach_DT_Format::parseDatetime()
指定された文字列を解析して DATETIME 型の時間オブジェクトに変換します.

parseTimestamp

line 117

Peach_DT_Timestamp parseTimestamp(string $format)

HTTP-date 形式のフォーマットを Peach_DT_Timestamp に変換します.

Tags

  • return : 変換結果
  • throws : InvalidArgumentException フォーマットが不正な場合
  • access : public

引数

string   $format   HTTP-date 形式の文字列

定義

Peach_DT_Format::parseTimestamp()
指定された文字列を解析して TIMESTAMP 型の時間オブジェクトに変換します.