225 of 410 menu

DateTimeクラス

DateTimeクラスは、OOPスタイルで日付と時刻を操作するための主要なツールです。日付/時刻オブジェクトの作成、変更、出力のフォーマットが可能です。

現在の時刻

現在の日付と時刻を持つDateTimeオブジェクトを作成してみましょう:

<?php $date = new DateTime(); ?>

特定の日付

指定された日付でDateTimeオブジェクトを作成してみましょう:

<?php $date = new DateTime('2025-12-31'); ?>

特定の日付と時刻

指定された日付と時刻でDateTimeオブジェクトを作成してみましょう:

<?php $date = new DateTime('2025-12-31 12:59:59'); ?>

出力のフォーマット

作成した日付は、formatメソッドを使用して指定されたフォーマットで出力できます。 現在の時刻に対してこれを行ってみましょう:

<?php $date = new DateTime(); echo $date->format('Y-m-d H:i:s'); ?>

結果(実行タイミングによって変化します):

'2025-11-15 14:25:00'

指定された日付のフォーマット

指定された日付をフォーマットしてみましょう:

<?php $date = new DateTime('2025-12-31'); echo $date->format('d.m.Y'); ?>

コード実行結果:

'31.12.2025'

間隔の加算

日付への間隔の加算は、addメソッドを通じて行われます:

<?php $date = new DateTime('2025-05-15'); $interval = new DateInterval('P10D'); // 10日間 $date->add($interval); echo $date->format('Y-m-d'); ?>

コード実行結果:

'2025-05-25'

間隔の減算

日付からの間隔の減算は、subメソッドを通じて行われます:

<?php $date = new DateTime('2025-05-15'); $interval = new DateInterval('P1M2D'); // 1ヶ月と2日間 $date->sub($interval); echo $date->format('Y-m-d'); ?>

コード実行結果:

'2025-04-13'

新しい日付の設定

DateTimeオブジェクトに新しい日付を設定できます。 これはsetDateメソッドを通じて行われます:

<?php $date = new DateTime(); $date->setDate(2025, 12, 31); echo $date->format('Y-m-d'); ?>

コード実行結果:

'2025-12-31'

時刻の設定

DateTimeオブジェクトに新しい時刻を設定できます。 これはsetTimeメソッドを通じて行われます:

<?php $date = new DateTime(); $date->setTime(15, 30, 0); echo $date->format('H:i:s'); ?>

コード実行結果:

'15:30:00'

日付の比較

日付オブジェクトを比較できます:

<?php $date1 = new DateTime('2025-01-01'); $date2 = new DateTime('2025-02-01'); if ($date1 < $date2) { echo '+++'; } else { echo '---'; } ?>

日付間の差

diffメソッドを使用して、日付間の差を計算できます。 差はDateIntervalオブジェクトとして返されます:

<?php $date1 = new DateTime('2023-01-01'); $date2 = new DateTime('2023-02-15'); $interval = $date1->diff($date2); echo $interval->format('%m months %d days'); ?>

コード実行結果:

'1 months 14 days'

タイムゾーン

DateTimeオブジェクトの作成時に、タイムゾーンを指定できます:

<?php $timeZone = new DateTimeZone('Europe/Moscow'); $date = new DateTime('2025-12-31 23:59:59', $timeZone); echo $date->format('Y-m-d H:i:s e'); ?>

コード実行結果:

'2025-12-31 23:59:59 Europe/Moscow'

関連項目

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否