PHP の日付関数とタイムスタンプ関数、およびそれらの間の形式変換チュートリアル (例付き)
PHP でWeb サイトの開発や構築では、日付と時刻の処理が必要になることがよくあります。PHP には、PHP 開発者が日付と時刻を計算して書式設定できるようにするためのさまざまな日付と時刻関数が用意されています。
PHP の日付関数をマスターすることは非常に必要であり、PHP の日付関数と Mysql データベースの日付の間の形式変換を処理するための基礎も築きます。
PHP 日付関数に関する最初のチュートリアルとして、PHP サンプル チュートリアルを使用して、PHP の基本的な日付関数 date と Unix タイムスタンプ関数、および相互の日付形式の変換方法を紹介します。
1. PHP の日付とタイム ゾーンの設定
PHP の日付関数を有効にする前に、まず設定されたタイム ゾーンが正しいことを確認する必要があります。そうでない場合は、表示される日付が正しいです。差異がある場合がございます。 PHP 環境をセットアップするときは、PHP.INI 構成ファイルで date.timezone を対応するタイム ゾーンに設定するだけで済みます。
PHP.INI 設定ファイルを操作する権限がない場合は、PHP タイム ゾーン関数 date_default_timezone_get(void) を使用して、現在の PHP 実行環境のタイム ゾーンを取得できます。
date_default_timezone_set(string $timezone_identifier) 関数を使用して、対応するタイムゾーンを設定します。
PHP でサポートされているタイム ゾーンの詳細については、http://www.php.net/manual/en/timezones.php を確認してください。
2. PHP 形式の日付関数 Date
プロトタイプ文字列 date(string $format[,int $timestamp])
$format - PHP日付関数のフォーマット コード date
$timestamp - Unix タイムスタンプ、デフォルトは現在のタイムスタンプ (オプション)
3. フォーマット文字 ————- 説明 ——— — 戻り値は次のように説明されます。
Day
d——月の日、2 桁の数値を返します — — 01 ~ 31
j —— 月の日付、1 ~ 9 (ゼロなし) —— 1 から 31
S —— 月の日数を表す英語の接尾辞 — — 2 文字の st、nd、rd、または th。 j
z —— 年間の日 —— 0 ~ 366Week
l— と一緒に使用できます。 —曜日——日曜日から土曜日まで D——英語の曜日、テキスト表現——3文字の月から日曜日まで N——曜日を表す数字(PHP 5.1.0 の新機能) - 1 (月曜日) ~ 7 (日曜日) w - 曜日 - 0 (日曜日) ~ 6 (土曜日) W - 週ISO-8601 形式の年の数値。各週は月曜日から始まります (PHP 4.1.0 で新たに追加) - 42 (年の第 42 週)
month(Month)
F —— month —— 1月または3月 1月から12月まで m —— 数字で表した月 —— 01から12 M — — 3 文字の略語で表される月 — Jan ~ Dec n —— 数字で表される月 — 1 ~ 12 t — – 月の日数—— 28 ~ 31 は 1、それ以外の場合は 0o —— ISO-8601 形式の年番号。 Y と同様に、ISO 週番号 (W) が前年または翌年に属していない限り、その年が使用されます。 (PHP 5.1.0 の新機能) —— 1999 または 2003 Y —— 4 桁で表される年 —— 1999 または 2003
y —— 2 桁で表される年 —— — 99 または 03 Time (時刻) a —— 午前と午後 —— am または pmA —— 午前と午後 —— 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 Timezone e - タイムゾーン識別子 (PHP 5.1.0 で新たに追加) - UTC、GMT、大西洋/アゾレス諸島I —— 夏時間かどうか —— サマータイムは 1、それ以外の場合は 0
T —— タイムゾーンの略語 —— 例: EST、MDT
Z —— 現在のタイム ゾーンの場合 タイム ゾーンの差 (秒単位) —— -43200 ~ 43200
完全な日付/時刻 (完全な日付/時刻)
c — — ISO 8601 形式の日付 (PHP 5 の新機能) — 2004-02-12T15:19:21 00:00
r — RFC 822 形式の日付 — Thu, 21 Dec 2000 16 :01 :07 0200
U - 1970 1.1 から特定の時点までの一般的な説明、つまり Unix タイムスタンプ。time()
を参照してください。PHP 日付関数の日付書式設定文字の英語ドキュメントについては、 http://www.php.net/manual/en/function.date.php
Date 関数の使用上のヒント : PHP の date 関数を使用して日付を出力する場合を参照してください。書式設定された日付形式、最初に出力する必要がある日付形式を書き出してから、日付関数の書式設定文字を使用してそれを組み合わせることができ、非常に使いやすくなります。
4. PHP 日付関数 date を使用して、Unix タイムスタンプ形式を変換します。
PHP 日付関数の 2 番目のオプション パラメーター $timestamp は、Unix タイムスタンプ形式に基づいています。フォームが存在し、このパラメータを使用して Unix タイムスタンプを対応する日付形式に変換できます。 Unix タイムスタンプを使用すると、パラメータの受け渡しや日付の計算などに多くの利点があります。便利で簡潔です。
日付を Unix タイムスタンプに変換するために PHP で一般的に使用される関数には、主に mktime、time、strtotime があります。 PHP 日付関数 mktime は、主に日付と時刻を Unix タイムスタンプ形式に変換するために使用されます。
プロトタイプは次のとおりです。
int mktime ([int $hour = date("H")[,int $minute = date("i")[,int $second = date("s")[,int $month = date("n")[,int $day = date("j")[,int $year = date("Y")[,int $is_dst = -1 ]]]]]]])
mktime関数のすべてのパラメータはオプションです。$is_dst は、mktime が夏時間であるかどうかを示します。関数のパラメータはすべて空の場合、time 関数と同様にデフォルトで現在時刻になります。
PHP 日付関数 time は、主に Unix タイムスタンプ形式で存在する現在時刻を取得するために使用されます。 PHP の日付関数 strtotime は、主に英語で記述された日付と時刻を Unix タイムスタンプに変換するために使用されます。
プロトタイプは次のとおりです。
int strtotime(string $time[,int $now])
$time パラメータは主に英語のテキスト記述の形式で存在します。
$now オプションのパラメータは、主に $time が日付と時刻を計算するための基礎を表します。デフォルトは現在の Unix タイムスタンプです。
PHP の date date 関数は、主にさまざまな日付形式を変換して出力するために使用されます。日付と時刻のさまざまな部分を取得したい場合は、Unix タイムスタンプ パラメーターを getdate に渡すことで取得できます。 function, getdate この関数は、次の配列キー値を持つ関連配列を返します:
秒 —- 秒数
分 —- 分
時間 —- 時
mday —- 月の日
wday —- 曜日、0 (日曜日の場合) ~ 6 (土曜日の場合)
mon —- 月
Year —- 4 で表される完全な年数字
yday —- 年間の日 Day
Weekday —- 週のテキスト表現、日曜日から土曜日
Month — 月のテキスト表現、1 月から 12 月
0 —- Unix エポックからの秒数と time() の戻り値は同様です。
上記の PHP Unix タイムスタンプ関数と PHP 日付関数を使用して、さまざまな日付形式の変換、計算、出力を実行できます。
5. PHP の日付計算例
年齢の計算
<?php $day = 1; $month = 1; $year = 1989; $birthday = mktime(0,0,0,$month,$day,$year); $nowunix = time(); $age = $nowunix - $birthday; $age = floor($age / (365*24*60*60)); echo $age; ?>
日付の加算減算
<?php $nowUnix = time(); $addTime = $nowUnix + (24*60*60); //日期加一天 $redTime = $nowUnix - (24*60*60);//日期减一天 echo date("Y-m-j",$addTime); echo date("Y-m-j",$redTime); ?>
6. strtotime の日付計算と形式変換の例
日付の加算と減算は、strtotime を使用して実行することもできます。 function
<?php $nowTime = strtotime("now"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("10 September 2010"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("+1 day"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("+1 week"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("+1 week 2 days 4 hours 2 seconds"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("next Thursday"); echo date("Y-m-j",$nowTime)."<br/>"; $nowTime = strtotime("last Monday"); echo date("Y-m-j",$nowTime)."<br/>"; ?>
これで、PHP 日付関数の日付書式設定文字の意味、いくつかの PHP Unix タイムスタンプ関数の紹介、およびそれらの間の変換と書式設定された出力の例の紹介が完了しました。 PHP の日付と時刻関数の計算と変換が非常に必要です。これからPHPを勉強する方の参考になれば幸いです。
推奨チュートリアル: 「PHP ビデオ チュートリアル 」
以上がPHP の日付関数とタイムスタンプ関数とそれらの間の形式変換に関するチュートリアル (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。