カテゴリー:
日付および時刻関連
閲覧数:811 配信日:2014-10-12 00:32
違い
time関数とmktime関数とstrtotime関数の違い
time()
・現在時刻のタイムスタンプを取
・西暦1970年1月1日から、実行したときの日時までの秒数を、取得
mktime()
・指定日時のタイムスタンプを取得
strtotime()
・「指定した時点」から「指定した時点」までのタイムスタンプを取得
三者の違い
time() | mktime() | strtotime()) |
---|---|---|
現在時刻のタイムスタンプを取得 | 指定した日付のタイムスタンプを取得 | 「指定した時点」から「指定した時点」までのタイムスタンプを取得 |
mktime
mktime関数
・引数で指定した日時のUNIXタイムスタンプを取得
mktime (時, 分, 秒, 月, 日, 年, サマータイム);
・引数は右から順に省略することが可能・省略された引数は、ローカルの日付と時刻にセットされる
・PHP 5.1 以降、引数なしでコールすると mktime() は E_STRICT notice を発行 → time() 関数を利用
引数 | 概要 | 記述例 | 備考 |
---|---|---|---|
1 | 時 | 22 | - |
2 | 分 | 18 | - |
3 | 秒 | 10 | - |
4 | 月 | 8 | - |
5 | 日 | 5 | - |
6 | 年 | 2011(2 桁または 4 桁の値を指定可能) | - |
7 | サマータイム | - | PHP 5.1.0 以降、このパラメータは廃止 |
strtotime
strtotime関数
・指定時点からのUNIXタイムスタンプを取得
・略した場合は、現時点からのタイムスタンプを取得
int strtotime(string 日時[, int 時点])
※[,時点]は省略可・指定時点から「どこまで」を、設定可
・「どこまで」は、指定書式(英文形式の日付時刻)で、設定
第2引数 が指定されていない場合は?
・現在日時に自動変換される
・つまり、nowを指定しても、nowを省略しても同じ挙動を示す
strtotime関数において特別な意味を持つ「フォーマット文字」一覧
・第一引数に指定する文字列
・英文形式の日時を表わす単語
単語 | 使用方法 |
---|---|
day | 日を表わす |
week | 日を1週間単位で表わす |
month | 月を表わす |
year | 年を表わす |
hour | 時刻を表わす |
minute | 分を表わす |
second | 秒を表わす |
now | 現在時刻を表わす |
tomorrow | +1 day と同様 つまり、「明日」 |
yesterday | -1 day と同様 つまり、「昨日」 |
first | +1 と同様 |
next | +1 と同様[br] ※但しバージョン4.4より前のPHPでは、誤って+2として計算される |
last | -1 と同様 |