1. 現在のタイムスタンプを取得します
方法 1: 時間を経過する関数
time();
方法 2: $_SERVER の REQUEST_TIME 要素を使用する
$_SERVER['REQUEST_TIME'];
方法 3: strtotime 関数を使用する
strtotime('now');
2. 現在時刻を取得する
日付関数の形式 Timestamp
echo date('Y-m-d h:i:s', time()); // 2018-10-3 15:57:05
3. タイム ゾーンの問題
上記の方法にはすべてタイム ゾーンの問題があり、具体的な解決策:
方法 1: php.ini を変更する 中国のタイム ゾーンを設定する
date.timezone = PRC
方法 2: php ファイルに中国のタイム ゾーンを一時的に設定する
date_default_timezone_set('PRC');
関連する推奨事項: 「PHP チュートリアル 」
php は現在の時刻とタイムスタンプを取得します
最初に知っておく必要があることは、php で時刻を取得するメソッドは date() であり、メソッドは次のとおりです。 PHPでタイムスタンプを取得するには、time()とstrtotime()を使用します。以下にそれぞれ説明します:
date() 形式は: date($format, $timestamp)、format は形式、timestamp はタイムスタンプ (オプション) です。
time() は、引数なしで現在の時刻の Unix タイムスタンプを返します。
strtotime($time, $now) 英語テキストの日時記述を Unix タイムスタンプに解析します。 $time は必須で、解析する時刻文字列を指定します。$now は戻り値のタイムスタンプを計算するために使用されます。このパラメータを省略した場合は、現在の時刻が使用されます。
date($format) 使用例:
echo date('Y-m-d');输出结果:2018-10-03 echo date('Y-m-d H:i:s');输出结果:2018-10-03 23:00:00 echo date('Y-m-d', time());输出结果:2018-10-03 23:00:00(结果同上,只是多了一个时间戳参数) (时间戳转换为日期格式的方法) echo date('Y').'年'.date('m').'月'.date('d').'日',输出结果:2018年10月3日
これらはほんの数例であり、形式が変更されているだけです。文字列形式の各文字の意味は次のとおりです。 :
a - 「午前」または「午後」
A - 「午前」または「午後」
d - 日、2 桁未満の場合は 2 桁の場合数字は数字で、前にゼロを追加します。例: "01" ~ "31"
D - 曜日、3 つの英語の文字。例: "Fri"
F -月、完全な英語名。例: " January"
h - 12 時間形式の時間。例: "01" から "12"
H - 24 時間形式の時間形式; 例: "00" ~ "23"
g - 12 時間形式の時間。2 桁未満の場合はゼロを追加しないでください。例: "1" ~ 12"
G - 24 時間形式の時間。2 桁未満の場合はゼロを追加しないでください。例: "0" ~ "23"
i - 分。例: "00 " ~ "59"
j - 日、2 桁、2 桁未満の場合、追加の桁は追加されません ゼロ; "1" ~ "31"
などl - 曜日、完全な英語名(例: "Friday"
m - 月、2 桁、2 桁未満の場合は前にゼロを追加します。例: "01" ~ "12"
n - 月、2 桁。2 桁未満の場合はゼロは追加されません。例: "1" ~ "12"
M - 月、3 つの英字。例: "Jan"
s - 秒; 例: "00" から "59"
S - 単語の末尾に英語の序数を追加します。文字(例: "th"、"nd"
t - 指定した月の日数、例: "28" ~ "31"
U - 合計数
w - 曜日の数値。例: "0" (日曜日) から "6" (土曜日)
Y - 年、4 桁。例: "1999" "
y - 年、2 桁。例: "99"
z - 日。例: "0" ~ "365"
time() 使用例:
time();输出结果:1332427715(返回的结果即当前的时间戳) strtotime($time)用法举例: echo strtotime('2012-03-22');输出结果:1332427715(此处结果为随便写的,仅作说明使用) echo strtotime(date('Y-d-m'));输出结果:(结合date(),结果同上)(时间日期转换为时间戳) strtotime()还有个很强大的用法,参数可加入对于数字的操作、年月日周英文字符,示例如下: echo date('Y-m-d H:i:s',strtotime('+1 day'));输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间) echo date('Y-m-d H:i:s',strtotime('-1 day'));输出结果:2012-03-21 23:30:33(昨天此时的时间) echo date('Y-m-d H:i:s',strtotime('+1 week'));输出结果:2012-03-29 23:30:33(下个星期此时的时间) echo date('Y-m-d H:i:s',strtotime('next Thursday'));输出结果:2012-03-29 00:00:00(下个星期四此时的时间) echo date('Y-m-d H:i:s',strtotime('last Thursday'));输出结果:2012-03-15 00:00:00(上个星期四此时的时间)
上記の例はすべてです。自分でさらに勉強してください。strtotime() メソッドは、英語のテキストを通じて Unix タイムスタンプの表示を制御して、必要なタイムスタンプを取得できます。 time.Date format.
php 現在時刻のミリ秒数を取得します
php 自体にはミリ秒数を返す関数はありませんが、配列には 2 つの要素が含まれています: 1 つは秒数で、もう 1 つは 10 進数で表されたミリ秒数です。このメソッドを通じて返されるミリ秒数を取得できます。このメソッドは次のとおりです。
function getMillisecond(){ list($s1,$s2)=explode(' ',microtime()); return (float)sprintf('%.0f',(floatval($s1)+floatval($s2))*1000);
現在時刻と実際にかかった時間は 8時間の時差を解決します
実際の開発では、取得した時間が現在のシステムの時刻が実際の時刻と 8 時間異なっています。これはタイムゾーンの設定の問題が原因です。この問題には次のようないくつかの解決策があります:
1. php で date.timezone を見つけます。 ini を編集し、その値を Asia/Shanghai に変更します。つまり、date.timezone = Asia/Shanghai (現在のタイムゾーンをアジアの上海タイムゾーンに設定します)
2. date_default_timezone_set('Asia/Shanghai'); を追加します。プログラムの冒頭で。
以上がPHPで現在時刻を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。