Rumah >pembangunan bahagian belakang >masalah PHP >Apakah yang perlu saya lakukan jika masa yang dipaparkan dalam php berbeza daripada masa sebenar?
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".
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('date.timezone', 'GMT'); echo '当前的格林尼治时间为:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'PRC'); echo '国内当前时间为:'.date('Y-m-d H:i:s',time()); ?>
Hasil keluaran:
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('Europe/Lisbon'); echo '葡萄牙的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('PRC'); echo '国内当前时间为:'.date('Y-m-d H:i:s',time()); ?>
Hasil keluaran:
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!