プログラムを作成するとき、多くの場合、現在のシステム時刻を取得する必要があります。ここではPHPの現在時刻を取得する関数を紹介します。
推奨チュートリアル: PHP ビデオ チュートリアル
1. 現在の日付と時刻の文字列を取得します:
date("Y-m-d H:i:s"); // 2017-12-14 23:13:51
2. 現在のタイムスタンプを取得します:
time(); // 1513264258
3. 特定のタイムスタンプに対応する日付文字列を取得します:
date("Y-m-d H:i:s",1513264258); // 2017-12-14 23:13:51
4. 特定の日付のタイムスタンプを取得します
#strtotime('2017-12-14 23:13:51'); // 1513264258
時刻取得時に時刻エラーが発生する場合があります。取得した時刻が実際の時刻と異なる場合があります。タイムゾーンの設定が間違っている可能性があります。この状況には 2 つの解決策があります。
1. php.ini で date.timezone を見つけ、その値を Asia/Shanghai に変更します。つまり、date.timezone = Asia/Shanghai
2.プログラムに date_default_timezone_set('Asia/Shanghai') を追加するだけです。
date()、time()、strtotime() 関数の具体的な使用法
date() 関数
#構文
date(format,timestamp);
定義と使用法
#例:
<?php header("Content-type: text/html; charset=utf-8"); //将时区设置为上海时间 date_default_timezone_set('Asia/Shanghai'); echo date("Y-m-d H:i:s");
time() 関数
構文: time();
time() 関数は Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) を返します。 ) からの現在時刻の秒数 (タイムスタンプ)。
構文:
#strtotime(time,now);
## strtotime() 関数は、英語テキストの日付または時刻の説明を Unix タイムスタンプ (1970 年 1 月 1 日 00:00:00 GMT からの秒数) に解析します。 注: 年の表現に 2 桁の形式が使用されている場合、値 0 ~ 69 は 2000 ~ 2069 にマッピングされ、値 70 ~ 100 は 1970 ~ 2000 にマッピングされます。
注: m/d/y または d-m-y 形式の日付の場合、区切り文字がスラッシュ (/) の場合は、米国の m/d/y 形式が使用されることに注意してください。区切り文字がダッシュ (-) またはドット (.) の場合、ヨーロッパの d-m-y 形式が使用されます。潜在的なエラーを回避するには、可能な限り YYYY-MM-DD 形式を使用するか、date_create_from_format() 関数を使用する必要があります。
例:<?php header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('Asia/Shanghai'); echo(strtotime("now") . "<br>"); echo(strtotime("15 October 2019") . "<br>"); echo(strtotime("+5 hours") . "<br>"); echo(strtotime("+1 week") . "<br>"); echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>"); echo(strtotime("next Monday") . "<br>"); echo(strtotime("last Sunday")); echo(strtotime("2011-11-11 11:11:11"));
## ●d - 月の日(01から31)# ●D - 曜日のテキスト表現(3文字)●j - 先頭のゼロなしの日付 (1 ~ 31)
#●l (小文字の「L」) - 曜日の完全なテキスト表現 N -曜日の ISO-8601 数値形式表現 (1 は月曜日 [月曜日] を表し、7 は日曜日 [日曜日] を表します) ● S - 月の曜日の英語の序数接尾辞 (2 文字: st、nd、rd、または th. j とともに使用) ●w - 曜日の数値表現 (0 は日曜日 [日曜日]、6 は土曜日 [土曜日] を意味します) z - 年間の日 (0 ~ 365) W - ISO-8601 数値形式での年間の週番号 (週は月曜日から始まります) ) ●F - 完全な月のテキスト表現 (1 月 [1 月] から 12 月 [12 月]) ●m - 月の数値表現 (01 から 12) ●M - 短いテキスト表現月 (3 文字で表されます) ●n - 先頭のゼロを除いた月の数値表現 (1 ~ 12) ● t - 指定された月に含まれる日数 L - うるう年かどうか (うるう年の場合は 1、そうでない場合は 0) o - ISO-8601 標準に基づく年番号
Y - 年の 4 桁表現●y - 年の 2 桁表現 ●a - 小文字形式: am またはpm
●A - 大文字形式: AM または PM ●B - インターネット時刻見本 (000 ~ 999) ●g - 12 時間時計 (先行ゼロなし) 1 ~ 12) G - 24 時間制、先行ゼロなし (0 ~ 23) h - 12 時間制、先行ゼロあり (01 ~ 12) H - 24 時間制、先頭にゼロが付きます (00 ~ 23) i - 分、先頭にゼロが付きます (00 ~ 59)●s - 先頭にゼロが付いた秒 (00 ~ 59)
●u - マイクロ秒 (PHP 5.2.2 の新機能)
●e - タイムゾーン識別子 (例: UTC) 、GMT、大西洋/アゾレス諸島)
I (i の大文字形式) - 日付が夏時間であるかどうか (夏時間の場合は 1、夏時間でない場合は 0)
●O -グリニッジ標準時 (GMT) との差、単位は時間です (例: 0100)
●P - グリニッジ標準時 (GMT) との差、単位は時:分です (PHP 5.1 New in . 3)
●T - タイムゾーンの略語 (例: EST、MDT)
●Z - タイムゾーンのオフセット (秒単位)。 UTC より西のタイム ゾーンのオフセットは負の数 (-43200 ~ 50400)
# ●c - ISO-8601 標準日付 (例: 2013-05-05T16:34:42 00:00) ●r - RFC 2822 形式の日付 (例: Fri, 12 Apr 2013 12:01:05 0200)##U - Unix エポック (1970 年 1 月 1 日 00:00) からの経過秒数:00 GMT) Number
同時に、次の事前定義定数 (PHP 5.1.0 以降で利用可能) を使用することもできます。 # ●DATE_ATOM - Atom (例:2013-04-12T15:52:01 00:00) ●DATE_COOKIE - HTTP Cookie (例: Friday, 12-Apr-13 15:52:01 UTC) ) ●DATE_ISO8601 - ISO-8601 (例: 2013-04-12T15:52:01 0000)
DATE_RFC822 - RFC 822 (例: Fri, 12 Apr 13 15:52) :01 0000)
●DATE_RFC850 - RFC 850 (例: Friday, 12-Apr-13 15:52:01 UTC)
●DATE_RFC1036 - RFC 1036 (例: Friday, 12 Apr 13 15:52:01 0000)
●DATE_RFC1123 - RFC 1123 (例: Fri, 12 Apr 2013 15:52:01 0000)
#●DATE_RFC2822 - RFC 2822 (金) 、12 Apr 2013 15:52:01 0000) ●DATE_RFC3339 - DATE_ATOM と同じ (PHP 5.1.3 以降) ●DATE_RSS - RSS (Fri, 12 Aug 2013 15:52) :01 0000) ●DATE_W3C - World Wide Web コンソーシアム (例: 2013-04-12T15:52:01 00:00)以上がPHPで現在時刻を取得する関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。