関数・クラス解説
DatePeriod::__construct
version:PHP 5 >= 5.3.0, PHP 7 (公式)新しい DatePeriod オブジェクトを作成する
公式リファレンス
説明
public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , int $recurrences [, int $options ] ) public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , DateTimeInterface $end [, int $options ] ) public DatePeriod::__construct ( string $isostr [, int $options ] )
新しい DatePeriod オブジェクトを作成します。
パラメータ
- start
- 期間の開始日。
- interval
- 期間内での発生間隔。
- recurrences
- 反復回数。
- end
- 期間の終了日。
- isostr
- ISO 8601 による繰り返し間隔の指定。
- options
- DatePeriod::EXCLUDE_START_DATE を指定すれば、 開始日を期間内の発生日から除外できます。
注意
ISO 8601 のセクション 4.5 "Recurring time interval" に記載されている無限回数の繰り返しには対応していません。 つまり、isostr に "R/..." を渡したり end に NULL を渡したりしても動作しません。
更新履歴
バージョン | 説明 |
---|---|
5.5.8 | end の型が DateTimeInterface に変わりました。 これより前のバージョンでは DateTime でした。 |
5.5.0 | start の型が DateTimeInterface に変わりました。 これより前のバージョンでは、DateTime でした。 |
サンプル
例1 DatePeriod の例
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$recurrences = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';
// これらはすべて同じ意味です
$period = new DatePeriod($start, $interval, $recurrences);
$period = new DatePeriod($start, $interval, $end);
$period = new DatePeriod($iso);
// DatePeriod の反復処理をすると、
// 期間内のすべての発生日が表示されます。
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
上の例の出力は以下となります。
2012-07-01
2012-07-08
2012-07-15
2012-07-22
2012-07-29
例2 DatePeriod で DatePeriod::EXCLUDE_START_DATE を使う例
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$period = new DatePeriod($start, $interval, $end,
DatePeriod::EXCLUDE_START_DATE);
// DatePeriod の反復処理をすると、
// 期間内のすべての発生日が表示されます。
// ただし、今回の場合は 2012-07-01 が表示されません。
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
上の例の出力は以下となります。
2012-07-08
2012-07-15
2012-07-22
2012-07-29
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール