インターネットの普及に伴い、Web アプリケーションの開発はますます注目を集めています。これらのアプリケーションでは、日付と時刻の処理テクノロジが非常に重要です。 PHP 開発では、日付と時刻の処理には、日付の書式設定、タイムゾーンの変換、タイムスタンプの処理など、多くの側面が含まれます。この記事では、PHPにおける日時処理技術を詳しく紹介します。
1. 日付と時刻の基本概念
PHP では、日付と時刻の処理は、組み込みの日付と時刻関数によって実現されます。これらの関数を使用する前に、日付と時刻の基本概念を理解しておく必要があります。
1. 日付: 通常、年、月、日で構成される日付値を指します。たとえば、2021 年 7 月 23 日などです。
2. 時間: 通常、時間、分、秒で構成される時間値を指します。たとえば、13:30:00。
3. 日付と時刻: 日付と時刻を組み合わせた値を指します。たとえば、2021 年 7 月 23 日 13:30:00 です。
4. タイム ゾーン: 地域によって時間が異なる場合があります。タイム ゾーンは、この問題を解決するために使用されるテクノロジーです。世界には多くのタイムゾーンがあり、さまざまな地域の時間を表すために使用されます。
2. PHP の日付と時刻の関数
1.date() 関数
date() 関数は、日付と時刻の書式設定に使用されます。基本的な構文は、date(format, timestamp) です。このうち、format は出力する日時の形式、timestamp はフォーマットするタイムスタンプを表し、指定しない場合はデフォルトで現在時刻が設定されます。
一般的に使用される日付と時刻の形式の一部を次に示します:
形式 | 説明
Y | 4 桁の年
y | 2 桁の年
m | 2 桁の月
n | 先頭のゼロなしの月
d | 2 桁の日
j | 先頭のゼロのある日付なし
H | 24 時間形式の時間
h | 12 時間形式の時間
i | 分
s | 秒
A | 大文字の AM または PM
a | 小文字の AM または PM
次は例です:
$date = date('Y-m-d H:i:s'); echo $date;
出力結果は次のとおりです: 2021- 07-23 14: 43:56
2.date_default_timezone_set() 関数
date_default_timezone_set() 関数は、デフォルトのタイムゾーンを設定するために使用されます。たとえば、タイムゾーンを北京時間に設定できます。コードは次のとおりです。
date_default_timezone_set('Asia/Shanghai');
3.time() 関数
time() 関数は、現在時刻のタイムスタンプを返します。タイムスタンプは、1970 年 1 月 1 日の 00:00:00 から現在までの秒数を表します。
echo time();
4.strtotime() 関数
strtotime 関数は、英語の日付文字列をタイムスタンプに変換します。たとえば、文字列「2021-07-23 14:43:56」をタイムスタンプに変換できます。コードは次のとおりです:
echo strtotime('2021-07-23 14:43:56');
5.date_diff() function
If 2 つの日付の差を見つけるには、date_diff 関数を使用できます。基本的な構文は date_diff(date1,date2) です。ここで、date1 と date2 は 2 つの日付/時間オブジェクトです。
次は例です:
$datetime1 = new DateTime('2021-07-23 14:43:56'); $datetime2 = new DateTime('2021-07-23 15:00:00'); $interval = date_diff($datetime1,$datetime2); echo $interval->format('%H:%I:%S');
出力結果は次のとおりです: 00:16:04
6.date_add() および date_sub() 関数
If 日付を加算または減算する必要がある場合は、date_add 関数と date_sub 関数を使用できます。基本的な構文は、date_add(日付,間隔) および date_sub(日付,間隔) です。このうち、date は演算対象となる日付オブジェクトを表し、interval は加算または減算される時間間隔を表します。
次は例です:
$date = new DateTime('2021-07-23 14:43:56'); $date->add(new DateInterval('PT1H')); //加1小时 echo $date->format('Y-m-d H:i:s');
出力結果は次のとおりです: 2021-07-23 15:43:56
7.date_create() および date_create_from_format() 関数
date_create 関数は、DateTime オブジェクトを作成するために使用されます。基本的な構文は date_create(time, timezone) です。ここで、time は作成される日付と時刻を表し、timezone はタイムゾーンを表します。指定しない場合、デフォルトはタイムゾーン設定です。
date_create_from_format 関数は、指定された形式に従って DateTime オブジェクトを作成するために使用されます。基本的な構文は、date_create_from_format(format, time, timezone) です。このうち、format は受信日の形式、time は作成する日時、timezone はタイムゾーンを表し、指定しない場合はデフォルトでタイムゾーンの設定になります。
#次は例です:$date1 = date_create('2021-07-23 14:43:56'); echo $date1->format('Y-m-d H:i:s'); $date2 = date_create_from_format('Y-m-d H:i:s', '2021-07-23 14:43:56'); echo $date2->format('Y-m-d H:i:s');
date_default_timezone_set('Asia/Shanghai'); //将时区设置为上海
以上がPHP の日付と時刻の処理テクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。