サーチ…
getTimestamp
getTimeStemp
は、datetimeオブジェクトのunix表現です。
$date = new DateTime();
echo $date->getTimestamp();
1970年1月1日(木曜日)の00:00:00から経過した秒数を整数表示します。
setDate
setDate
は、DateTimeオブジェクトに日付を設定します。
$date = new DateTime();
$date->setDate(2016, 7, 25);
この例では、日付を2015年7月の25分の1に設定すると、次の結果が生成されます。
2016-07-25 17:52:15.819442
日付間隔の追加または減算
DateIntervalクラスを使用して、DateTimeオブジェクト内のある間隔を加算または減算することができます。
次の例を参照してください。ここでは、間隔を7日間追加し、メッセージを画面に印刷します。
$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";
これは出力されます(2016年8月1日に実行):
サマラは言う:「セブンデイ。あなたは2016-08-08に満足しています。
我々は同様の方法でサブメソッドを使用して日付を減算することができます
$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";
これは出力されます(2016年8月1日に実行):
サマラは言う:「セブンデイ。あなたは2016年7月25日に最後に幸せでした。
カスタムフォーマットからDateTimeを作成する
PHPはいくつかの日付形式を解析できます 。非標準形式を解析する場合や、コードで使用する形式を明示的に指定する場合は、静的なDateTime::createFromFormat
メソッドを使用できます。
オブジェクト指向スタイル
$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);
手続き型スタイル
$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);
DateTimesの印刷
PHP 4以降では、DateTimeオブジェクトを目的の形式の文字列に変換するメソッド、形式を提供しています。 PHP Manualによると、これはオブジェクト指向関数です:
public string DateTime::format ( string $format )
date()関数は、1つのパラメータ、つまり文字列の形式をとります。
フォーマット
形式は文字列で、単一文字を使用して形式を定義します。
- Y :年の4桁の表記(例:2016)
- y :年の2桁の表記(例:16)
- m :月、数字(01〜12)
- M :月、3文字(1月、2月、3月など)
- j :月の日、先行ゼロがない(1〜31)
- D :曜日、3文字(月、火、水など)
- h :時(12時間形式)(01〜12)
- H :時(24時間形式)(00〜23)
- A :AMまたはPM
- i :分、先行ゼロ(00〜59)
- s :秒の先頭に0が付きます(00〜59)
- 完全なリストはここで見つけることができます
使用法
これらの文字は、さまざまな組み合わせで使用して、ほぼすべての形式で時刻を表示できます。ここではいくつかの例を示します。
$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */
$date->format("H:i");
/* Returns 13:30 */
$date->format("H i s");
/* Returns 13 30 20 */
$date->format("h:i:s A");
/* Returns 01:30:20 PM */
$date->format("j/m/Y");
/* Returns 26/05/2000 */
$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */
手続き的
手続き形式も同様です。
オブジェクト指向
$date->format($format)
手続き的等価
date_format($date, $format)
以前のPHP5.6から変更可能なDateTimeを作成する
PHP 5.6以降で\DateTimeImmutable
を作成するには:
\DateTimeImmutable::createFromMutable($concrete);
以前のPHP 5.6では以下を使用できます:
\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());