date_interval_create_from_date_string

関数の概要

date_interval_create_from_date_string は、PHPで指定した文字列から DateInterval オブジェクトを作成するための関数です。日時の差分や期間を表す文字列を簡単に扱える形式に変換できるため、時間の加減算や計算に便利です。

パラメータの説明

  • time (string): イギリス英語で書かれた期間(例: “1 day”, “2 months”, “1 year 3 days”)を表す文字列。
    日数、月数、年、時間、分、秒などを自由に組み合わせて指定可能です。

戻り値

指定した文字列に基づいて作成された DateInterval オブジェクトを返します。文字列の解析に失敗した場合は FALSE を返すことがあります。

使用例

基本的な使い方

<?php
$interval = date_interval_create_from_date_string('1 day');
var_dump($interval);
?>

この例では「1日」の時間差を示す DateInterval オブジェクトを生成し、中身を表示しています。

複数の期間を組み合わせる

<?php
$interval = date_interval_create_from_date_string('2 years 3 months 10 days');
echo $interval->format('%y 年 %m ヶ月 %d 日');
?>

年・月・日を組み合わせた複雑な期間も、一つの文字列で指定してオブジェクトを作成し、フォーマットして出力できます。

時間や分、秒を指定する例

<?php
$interval = date_interval_create_from_date_string('5 hours 30 minutes 20 seconds');
echo $interval->format('%h 時間 %i 分 %s 秒');
?>

日付だけでなく時間単位も扱えます。細かい時間差分を表現したい時に便利です。

関連する関数

  • DateInterval::format() — 作成した期間オブジェクトを任意の形式で文字列に変換
  • date_diff() — 2つの日付の差分を DateInterval として計算
  • DateTime::add() — 日付に DateInterval を加算
  • DateTime::sub() — 日付から DateInterval を減算

まとめ

date_interval_create_from_date_string は、文字列で指定した時間の長さや期間から手軽に DateInterval オブジェクトを作成できる関数です。構文が柔軟で分かりやすいため、日時の加減算処理をシンプルに書きたい場合に役立ちます。時間単位もまとめて指定できるため、実務でも幅広く活用可能です。