ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルの日時差問題を解決する方法

PHP_PHP チュートリアルの日時差問題を解決する方法

WBOY
WBOYオリジナル
2016-07-13 10:37:251018ブラウズ

今日 date("Y-m-d H:i:s") が検出される時刻は、常に実際の時刻と一致しません。そこで関連情報を調べてみたところ、その理由は以下のようにまとめられました。

この現象の理由:
php5.1.0 以降、php.ini に date.timezone オプションが追加され、表示されるタイムゾーンはデフォルトでオフになっています。デフォルトでは、グリニッジ標準時と私たちの時間 (北京時間) の差はちょうど 8 時間です。
解決策:
1. 最も簡単な方法は、php5.1 以降のバージョンを使用しないことです
2. php.ini設定ファイルを変更します
php.ini で date.timezone を見つけて変更できます。
Windows の
php.ini は通常、C:/WINDOWS/php.ini にあります
Linux の
php.ini は通常、/etc/php.ini にあります
上記のヒントに従って、php.ini の下に date.timezone 行を見つけます。見つからない場合は、自分で追加できます。先頭のセミコロンを削除し、date.timezone = "Asia/Shanghai" に変更します。http サービス (apache2 や iis など) を忘れずに再起動してください。
セミコロンの後のdate.timezone値の参照、
中国本土で利用可能な値は次のとおりです: アジア/重慶、アジア/上海、アジア/ウルムチ (重慶、上海、ウルムチの順)
香港と台湾で利用可能: アジア/マカオ、アジア/香港、アジア/台北 (マカオ、香港、台北の順)
そしてシンガポール: アジア/シンガポール
外国人は北京を懐かしんでいるようです
その他の利用可能な値は次のとおりです: Etc/GMT-8、シンガポール、香港、中国
中華人民共和国とは何ですか? PRCは中華人民共和国です
3. php5.1 以降を使用する必要があり、php.ini 設定ファイルを変更できない場合。
(1) 正しい中国時間 date('Y-m-d H:i:s', time()+8*3600);
(1) PHP コードで時間を処理するときに 8 時間を追加します。
(2) date_default_timezone_set (XXX) を時間に関する初期化ステートメントに追加するか、ページのヘッダーで date_default_timezone_set(XXX) を使用してデフォルトのタイムゾーンを北京時間に設定することもできます。 。
フォーマット文字列は次のフォーマットパラメータ文字列を認識できます
書式文字 説明 戻り値の例
d 日付、先頭にゼロを付けた2桁の数字 01から31
D 曜日、テキスト表現、3文字 月から日まで
j 先行ゼロなしの月の日 1から31
l (小文字の「L」) 曜日、完全なテキスト形式 日曜日から土曜日まで
N ISO-8601 形式の数字で表される曜日 (PHP 5.1.0 の新機能) 1 (月曜日を意味します) から 7 (日曜日を意味します)
S 月の日の後の英語の接尾辞、2 文字 st、nd、rd、または th。 j
と一緒に使用できます
w 数字で表される曜日 0 (日曜日を意味します) から 6 (土曜日を意味します)
z 今年の曜日 0〜365
週間
W ISO-8601 形式の年の週番号。各週は月曜日から始まります (PHP 4.1.0 の新機能) 例: 42 (年の 42 週目)
F 月、完全なテキスト形式(1 月や 3 月など) 1 月から 12 月まで
m 先頭にゼロを付けた数字で表される月 01 から 12
M 月の 3 文字の略語 1 月から 12 月まで
n 先頭のゼロを除いた数字で表した月 1 ~ 12
t 特定の月の日数 28から31
L 閏年かどうか 閏年なら1、そうでなければ0
o ISO-8601 形式の年番号。これは Y と同じ値ですが、ISO 週番号 (W) が前年または翌年に属している場合は、その年が使用されます。 (PHP 5.1.0 の新機能) 例: 1999 年または 2003 年
Y 4 桁で表される完全な年 例: 1999 または 2003
y 2 桁の年 例: 99 または 03
時間
a AM と PM の小文字の値 午前または午後
A 大文字の午前と午後の値 午前または午後
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>
タイムゾーン
e タイムゾーン識別子 (PHP 5.1.0 の新機能) 例: UTC、GMT、大西洋/アゾレス諸島
I 夏時間かどうか 夏時間の場合は1、そうでない場合は0です
O グリニッジ標準時との時間差 例: +0200
P グリニッジ標準時 (GMT) との違いは、時と分を区切るコロンがあります (PHP 5.1.3 の新機能) 例: +02:00
T このマシンが設置されているタイムゾーン 例: EST、MDT ([翻訳者注] 「東部標準時」など、Windows の完全なテキスト形式では、中国語版では「中国標準時」と表示されます) )。
Z 時差オフセット(秒単位)。 UTC より西のタイム ゾーン オフセットは常に負であり、UTC より東のタイム ゾーン オフセットは常に正です。 -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 Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) からの秒数 time() を参照
カテゴリー: PHP

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/735872.html技術記事今日の date(Y-m-d H:i:s) に遭遇する時刻は、常に実際の時刻と一致しません。そこで関連情報を調べてみたところ、その理由は以下のようにまとめられました。 この現象の原因: php5.1.0以降...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。