ホームページ  >  記事  >  バックエンド開発  >  PHPで現在時刻を取得する方法

PHPで現在時刻を取得する方法

藏色散人
藏色散人オリジナル
2021-02-24 18:01:244290ブラウズ

現在時刻を取得する

php メソッド: まず PHP サンプル ファイルを作成し、次に「echo date('Y-m-d h:i:s', time());」を通じて現在時刻を直接取得して出力します。ステートメント。

PHPで現在時刻を取得する方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

1. 最新の情報を取得します。 timestamp

方法 1: 時間関数を介して

time();

方法 2: $_SERVER# の REQUEST_TIME 要素を介して

##$_SERVER['REQUEST_TIME'];

方法 3: strtotime 関数を使用する

strtotime('now'));

2. 現在時刻を取得します

日付関数を使用してタイムスタンプをフォーマットします

echo date('Y-m-d h:i: s', time( )); // 2018-10-3 15:57:05

3. タイムゾーンの問題

上記の方法はすべてタイムゾーンの問題がある場合、具体的な解決策:

方法 1: php.ini を中国のタイムゾーンに変更する

date.timezone = PRC

Method 2: php ファイルで一時的に中国のタイムゾーンに設定します

date_default_timezone_set('PRC');

php は現在の時刻とタイムスタンプを取得します

最初に知っておくべきこと PHP で時刻を取得するメソッドは date()、PHP でタイムスタンプを取得するメソッドは time() と strtotime() です。それらについては以下で説明します。

date() 形式は次のとおりです: date($format, $timestamp)、format は形式、timestamp はタイムスタンプ (オプション)。
time() は、引数なしで現在の時刻の Unix タイムスタンプを返します。
strtotime($time, $now) 英語テキストの日時記述を Unix タイムスタンプに解析します。 $time は必須で、解析する時刻文字列を指定します。$now は戻り値のタイムスタンプを計算するために使用されます。このパラメータを省略した場合は、現在の時刻が使用されます。 [推奨学習: 「
PHP ビデオ チュートリアル 」]

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').' Year'.date('m').'Month'.date('d').'Day'、出力結果: 2018 年 10 月 3 日

#例 これらは形式の変更にすぎません。文字列形式の各文字の意味は次のとおりです:
a - "am" または "pm"

A - "AM" または "PM"
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 時間形式の時間。「0」から「23」などの 2 桁未満の場合はゼロを追加しないでください。
i - 分。「00」から「59」# など##j - 日、2 桁。2 桁未満の場合はゼロは追加されません。たとえば、「1」から「31」までです。
l - 曜日、完全な英語名。次のようになります。 "Friday"
m - 月、2 桁 (2 桁未満の場合は、前にゼロを追加します。例: "01" ~ "12"
n - 月、2 桁 (2 桁未満の場合) 2 桁より大きい場合、ゼロは追加されません。例: "1" ~ "12"
M - 月、3 つの英字。例: "Jan"
s - 秒。例: "00" to "59"
S - 単語の末尾に英語の序数、「th」、「nd」などの 2 つの英文字を追加します。
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'); 出力result: 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 週間') ); 出力結果:2012-03-29 23:30:33 (来週の今頃の時刻)
echo date('Y-m-d H: i:s',strtotime('来週木曜日')); 出力結果:2012-03-29 00:00:00 (来週木曜日のこの時刻)
echo date('Y-m-d H:i:s', strtotime('先週木曜日')); 出力結果: 2012-03 -15 00:00:00 (先週木曜日のこの時刻)

上記には非常に多くの例があります。 strtotime() メソッドは英語のテキストを介して渡すことができ、Unix タイムスタンプの表示を制御し、必要な時刻と日付の形式を取得します。

php 現在時刻のミリ秒数を取得します。

php 自体にはミリ秒数を返す関数はありませんが、microtime() メソッドが用意されています。 , これは 2 つの要素を含む配列を返します: 1 つは秒数で、もう 1 つは 10 進数で表されたミリ秒数です。このメソッドを使用して、返されるミリ秒数を取得できます。メソッドは次のとおりです:

function getMillisecond(){
	list($s1,$s2)=explode(' ',microtime());
	return (float)sprintf('%.0f',(floatval($s1)+floatval($s2))*1000);

現在所要時間と実際の所要時間の差は 8 時間です解決策

実際の開発では、取得した所要時間が実際の所要時間と 8 時間異なることがよくあります。現在のシステムの時刻です。タイムゾーン設定の問題が原因です。この問題には、次のようないくつかの解決策があります。方法:

1. php.ini で date.timezone を見つけ、その値を Asia に変更します。 /Shanghai、つまり、date.timezone = Asia/Shanghai (現在のタイムゾーンをアジアの上海タイムゾーンに設定します)
2. プログラムの先頭に date_default_timezone_set('Asia/Shanghai'); を追加します。
個人の好みに応じて、両方の方法を使用できます。

以上がPHPで現在時刻を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。