Rumah >pembangunan bahagian belakang >masalah PHP >Apakah yang perlu saya lakukan jika masa yang dipaparkan dalam php berbeza daripada masa sebenar?

Apakah yang perlu saya lakukan jika masa yang dipaparkan dalam php berbeza daripada masa sebenar?

青灯夜游
青灯夜游asal
2021-09-07 18:49:342043semak imbas

Penyelesaian: 1. Gunakan "ini_set('date.timezone','PRC')" untuk menetapkan zon waktu; 2. Gunakan "date_default_timezone_set('PRC')" untuk menetapkan zon waktu; Dalam fail konfigurasi, Tetapkan "date.timezone=PRC".

Apakah yang perlu saya lakukan jika masa yang dipaparkan dalam php berbeza daripada masa sebenar?

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Dalam PHP, masa yang dipaparkan tidak konsisten dengan masa sebenar, kerana tetapan zon waktu adalah salah.

Dunia dibahagikan kepada 24 zon waktu Setiap zon waktu mempunyai waktu tempatan masing-masing berbeza dari 1 hingga 23 jam pada masa yang sama , UK dan waktu tempatan di Beijing berbeza sebanyak 8 jam.

Jika anda ingin menetapkan masa yang dipaparkan supaya sama dengan masa sebenar, anda perlu menetapkan zon waktu kepada zon waktu setempat Berikut ialah beberapa pengecam zon waktu biasa dan maksudnya:

  • Asia /Shanghai —— Shanghai

  • Asia/Chongqing —— Chongqing

  • Asia/Urumqi —— Urumqi

  • Asia/Hong_Kong —— Hong Kong

  • Asia/Macao —— Macau

  • Asia/Taipei —— Taipei

  • Asia/Singapura - Singapura

  • PRC - Zon Waktu China

Nota: Jika kami berada di China, kami akan menukar zon waktu Ia boleh ditetapkan kepada "Asia/Shanghai atau PRC". Ingat untuk memulakan semula pelayan selepas berjaya menetapkan!

Mari kita lihat cara menetapkan zon waktu:

Kaedah 1: Gunakan fungsi ini_set() untuk menetapkan zon waktu

PHP Fungsi ini_set() boleh menetapkan nilai pilihan konfigurasi yang ditentukan Pilihan konfigurasi ini akan mengekalkan nilai baharu semasa skrip berjalan dan memulihkannya apabila skrip tamat. Format sintaks fungsi adalah seperti berikut:

ini_set($varname, $newvalue)

di mana $varname ialah pilihan konfigurasi yang akan diubah suai dan $newvalue ialah nilai baharu bagi pilihan konfigurasi.

Contoh:

<?php
header("Content-type:text/html;charset=utf-8"); 
ini_set(&#39;date.timezone&#39;, &#39;GMT&#39;);
echo &#39;当前的格林尼治时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
ini_set(&#39;date.timezone&#39;, &#39;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

Hasil keluaran:

Apakah yang perlu saya lakukan jika masa yang dipaparkan dalam php berbeza daripada masa sebenar?

Kaedah 2: Gunakan date_default_timezone_set( ) Fungsi untuk menetapkan zon masa

Fungsi date_default_timezone_set() dalam PHP boleh menetapkan zon masa lalai untuk semua fungsi masa dan tarikh dalam skrip Format sintaks adalah seperti berikut:

date_default_timezone_set($timezone_identifier)

Parameter $ timezone_identifier ialah pengecam zon waktu, seperti UTC (Greenwich Mean Time) atau Europe/Lisbon (Portugal).

Memandangkan PHP5.1.0 (fungsi tarikh dan masa telah ditulis semula dalam versi ini), jika zon waktu adalah menyalahi undang-undang, setiap panggilan ke fungsi tarikh dan masa akan menjana mesej ralat peringkat E_NOTICE Jika anda menggunakan tetapan sistem atau Pembolehubah persekitaran TZ juga menjana maklumat tahap E_STRICT.

Contoh:

<?php
header("Content-type:text/html;charset=utf-8"); 
date_default_timezone_set(&#39;Europe/Lisbon&#39;);
echo &#39;葡萄牙的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
date_default_timezone_set(&#39;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

Hasil keluaran:

Apakah yang perlu saya lakukan jika masa yang dipaparkan dalam php berbeza daripada masa sebenar?

Kaedah 3: Tetapkan

Fail konfigurasi PHP ialah fail php.ini dalam direktori pemasangan PHP. Kemudian cari date.timezone dalam fail, dan kita akan melihat sekeping maklumat seperti yang ditunjukkan di bawah:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
di mana

di hadapan ;date.timezone = mempunyai fungsi yang sama seperti ; dalam PHP Maksud ulasan, di sini kita perlu mengalih keluar ini; dan mengisi pengecam zon waktu yang sepadan selepas // dalam ayat ini, seperti yang ditunjukkan di bawah: =

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC

Dilanjutkan pengetahuan: Asia boleh ditetapkan pengecam zon waktu

Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr
Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Atyrau
Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok
Asia/Barnaul Asia/Beirut Asia/Bishkek Asia/Brunei
Asia/Chita Asia/Choibalsan Asia/Colombo Asia/Damascus
Asia/Dhaka Asia/Dili Asia/Dubai Asia/Dushanbe
Asia/Famagusta Asia/Gaza Asia/Hebron Asia/Ho_Chi_Minh
Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Jakarta
Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka
Asia/Karachi Asia/Kathmandu Asia/Khandyga Asia/Kolkata
Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait
Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila
Asia/Muscat Asia/Nicosia Asia/Novokuznetsk Asia/Novosibirsk
Asia/Omsk Asia/Oral Asia/Phnom_Penh Asia/Pontianak
Asia/Pyongyang Asia/Qatar Asia/Qostanay Asia/Qyzylorda
Asia/Riyadh Asia/Sakhalin Asia/Samarkand Asia/Seoul
Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei
Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Thimphu
Asia/Tokyo Asia/Tomsk Asia/Ulaanbaatar Asia/Urumqi
Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk
Asia/Yangon Asia/Yekaterinburg Asia/Yerevan  

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika masa yang dipaparkan dalam php berbeza daripada masa sebenar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn