日付関数を正式に学ぶ前に、誰もがいくつかの概念を理解する必要があります:
1. タイムゾーン
2. 世界時
3. Unix タイムスタンプ
タイムゾーン
誰もがこの概念について聞いたことがあるでしょう。たくさんの前に。私たちが実生活で使用する実際の領域もコンピューター内で規制されています。
1884年にワシントンで国際経度会議が開催されたとき、時間の混乱を克服するために、世界を24のタイムゾーンに分割することが規定されました。
中国では、首都北京がある東巴区の時間が国家統一時として採用されています。
ユニバーサルタイム
グリニッジタイム(英語の略称:GMT)を使用するのは天文学者だけでなく、この用語はニュース新聞にも頻繁に登場します。どこにでも現地時間があることを私たちは知っています。主要な国際イベントを記録するために現地時間を使用すると、複雑で不便になります。そして時間が経てば経つほど間違いを犯しやすくなります。そこで、天文学者は、グリニッジ (英国のある地域) の現地時間を標準として使用する、誰にとっても受け入れられ便利な記録方法を提案しました。
unix タイムスタンプ
計算を容易にするために、コンピューター自体に時刻が設定されています。そこで、Unix タイムスタンプという計算方法を指定しました。
Unix エポック (1970 年 1 月 1 日 00:00) からの経過秒数。
いくつかの概念を学習したので、時間関数の学習を開始できます。
1. タイムゾーンを設定する
多国籍多言語プログラムの場合、通常、プログラムを実行するたびに設定ファイルにタイムゾーンを書き込みます。タイムゾーンの設定を読み込んで時刻を表示します。
タイムゾーンを設定する関数は次のとおりです:
1).date_default_timezone_get()
2).date_default_timezone_set()
最初の関数には焦点を当てません。これは比較的単純です。
使用法は次のとおりです:
string date_default_timezone_get (void)
関数は次のとおりです:
スクリプト内のすべての日付と時刻の関数で使用されるデフォルトのタイムゾーンを取得します
例:
<?php echo date_default_timezone_get (); ?>
これは、現在設定されている時刻。
2 番目の関数が重要なポイントです:
使用法は次のとおりです:
bool date_default_timezone_set ( string $timezone_identifier )
関数は次のとおりです:
すべての日時関数のデフォルトのタイムゾーン
例:
<?php //定义一下时区常量,以后你可以放到配置文件里 define('TIME_ZONE','Asia/shanghai'); //执行函数 date_default_timezone_set(TIME_ZONE); echo date('Y-m-d H:i:s'); ?>
上記の例のコードを比較し、date_default_timezone_set をコメントアウトして、どのようなプロンプトが表示されるかを確認してください。
注:
タイムゾーンのリストについては、公式マニュアル http://php.net/manual/zh/timezones.php
2.time() を参照して、現在の UNIX タイムスタンプを取得してください
time( ) 関数 function 現在時刻の Unix タイムスタンプを取得します。
次のコードは、現在の時刻の Unix タイムスタンプを出力します。
<?php $time=time(); print_r( $time); ?>
プログラム実行結果:
1421597858
3. PHPの時間処理学習の鍵は「Flax fall」です
Y 英語は年を表す year - Asia
m 英語は月を表す month —— Ma
d は英語で day を表し、日付 - fall
を表します。したがって、前年、月、日を出力する必要があります。例: 1997 年 7 月 1 日には、上記の 3 つのパラメータを使用できます。
<?php echo date('Y年m月d日'); ?>
コードを実行して、表示されるかどうかを確認してください。
の後にはいくつかのパラメータがあります:
H:m:s は時、分、秒を表します
hは英語で時間です
iは英語で分です
sは英語で秒です 秒を表します
<?php //就可以显示出来当前的时间了哟。 echo date('Y-m-d H:i:s'); ?>
date 関数は、時刻の表示や保存を容易にするために時刻を書式設定して出力するために使用されます。構文形式は次のとおりです:
string date ( string $forrnat [, int $tirnestamp] )
パラメーター リスト内:
$timestamp はタイムスタンプであり、関数はこのタイムスタンプを $format で指定された形式で出力します。
$timestamp に入力値がない場合、デフォルトで現在時刻が設定されます。
$format は時刻出力形式の文字列であり、出力形式を構築するには指定された文字を使用する必要があります。
日付関数のパラメータテーブルのフォーマット:
文字 | 説明 | 戻り値 |
---|---|---|
d | 日付、先行ゼロ付きの2桁 | 01から31 |
D | 英語曜日、3文字 | Mon to Sun |
j | 月の日付、先頭ゼロなし | 1から31 |
l (文字) | 英語の曜日 | 日曜日から土曜日 |
N | 1形式の数字は曜日を表します | 1(月曜日を意味します)から7(日曜日を意味します) |
S | 各月の日数の後の英語の接尾辞、2文字 | st、nd、rd、または th。 jgと一緒に使えます |
w | 曜日、数字は | 0(日曜日を意味します)から6(土曜日を意味します) |
z | 年間の曜日 | 0〜を表します366 |
W | 年間週、週は月曜日から始まります | 42 (年間第42週) |
F | 月、全文形式 | 1月から12月 |
m | 数字は月を表し、先頭にゼロが付きます | 01から12 |
M | 月を表す3文字の略語 | 1月から12月 |
n | 数字は月を表し、先頭にゼロはありません | 1 to 12 |
t | 特定の月の日数 | 28 to 31 |
L | 閏年かどうか | 閏年の場合は1、それ以外の場合はは o |
o | 年の数値をフォーマットします | 例: 2007 |
Y | 年を完全に表す 4 桁 | 例: 2008 |
y | 2桁から年を表します | 例: 99 または 08 |
a | 小文字のAMとPMの値 | amまたはpm |
A | 大文字のAMとPMの値 | AMまたはPM |
g | 時間、12 時間形式、先頭のゼロなし | 1 ~ 12 |
G | 時間、24 時間形式、先頭のゼロなし | 0 ~ 23 |
i | 先頭付きゼロ | 00〜59 |
s | 先頭にゼロが付いた秒 | 00〜59 |
e | タイムゾーン識別子 | |
U | Unix エポックからの秒数 | 長整数 |
3. getdate は現在のシステム時間を取得します
getdate は、現在のシステム時間を取得するか、タイムスタンプの特定の意味を取得するために使用されます。タイムスタンプは長整数で、getdate の構文形式は次のとおりです。
array getdate ([ int $timestamp = time() ] )
関数の戻り値は、タイムスタンプに基づいて取得された時刻情報を含む配列です。パラメータがない場合は、現在の時刻が返されます。 getdate によって返される配列、キー名には時刻と日付の完全な情報が含まれます。
キー名 | 説明 | 戻り値 |
---|---|---|
secnods | Seconds | 数値0から59 |
分 | 分 | 0から59までの数字 |
時間 | 時間 | 数字0から23 |
mday | 曜日 | 数字1から31 |
wday | 曜日 | 数字0(日曜日を意味します)土曜日) |
月 | 月 | 数字1から12 |
年 | 4桁の数字表現 | |
yyday | 年の数字の数 | 数字0〜365 |
平日 | 日曜日から土曜日 | |
英語での月 | 1月から12月 | |
Unix時代の始まりからの秒 | long整数 |
次のコードは、getdate 配列の詳細情報を返すことができます。
<?php $mytime=getdate(); print_r( $mytime); ?>
print_rは、すべてのキー名と値を配列で出力できます。このコードを実行すると、結果は以下のようになります。プログラムは、現在のコンピューターの時刻と日付の詳細を出力します。
Array ( [seconds] => 1 //秒 [minutes] => 10 //分钟 [hours] => 17 //小时 [mday] => 18 //日 [wday] => 0 //星期中的第几天 [mon] => 1 //月 [year] => 2015 //年 [yday] => 17 //年中的第几天 [weekday] => Sunday //星期 [month] => January //月份 [0] => 1421597401 //时间戳 )
getdate 関数と返された配列を理解すると、現在の時刻情報を簡単に取得できます。次のコードは、getdate 関数を使用して時刻情報を取得し、返された時刻配列の値を呼び出して時刻情報を出力します。
<?php $mytime = getdate(); echo "年 :".$mytime['year']."\n"; echo "月 :".$mytime['mon']."\n"; echo "日 :".$mytime['mday']."\n"; echo "时 :".$mytime['hours']."\n"; echo "分 :".$mytime['minutes']."\n"; echo "秒 :".$mytime['seconds']."\n"; echo "一个小时中的第几钟 :".$mytime['minutes']."\n"; echo "这是一分钟的第几秒 :".$mytime['seconds']."\n"; echo "星期名称 :".$mytime['weekday']."\n"; echo "月份名称 :".$mytime['month']."\n"; echo "时间戳 :".$mytime[0]."\n"; ?>
このアプリを実行すると、現在時刻の詳細情報が表示されます。プログラムを実行した結果は次のようになります。
年: 2015月: 1日: 18
時: 17
分: 14
秒: 11
曜日: 14
年間の曜日: 11
曜日: 日曜日
月の名前: 1月
タイムスタンプ: 1421597651
次のセクション