Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Tarikh UTC ke Zon Waktu Tempatan dalam MySQL Select Query?
Anda sedang bekerja dengan pertanyaan MySQL yang mengandungi lajur "masa paparan" yang menyimpan cap masa dalam UTC. Walau bagaimanapun, anda perlu memaparkan cap masa dalam zon waktu tempatan. Fungsi CONVERT_TZ() tidak berfungsi seperti yang diharapkan.
Untuk menukar cap waktu UTC kepada zon waktu tempatan menggunakan fungsi CONVERT_TZ(), anda mesti menentukan singkatan zon waktu bagi kedua-duanya UTC dan zon waktu tempatan. Sintaks yang betul adalah seperti berikut:
SELECT CONVERT_TZ(displaytime, 'UTC', 'LOCAL')
Contoh Pertanyaan
WHERE displaytime >= '2012-12-01 00:00:00' AND displaytime <= '2013-02-22 23:59:59' AND ct.organizationId IN ( SELECT t.organizationId FROM organization_ AS t JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%') WHERE p.organizationId = 10707 )
Pertanyaan Diubahsuai:
WHERE CONVERT_TZ(displaytime, 'UTC', 'LOCAL') >= '2012-12-01 00:00:00' AND CONVERT_TZ(displaytime, 'UTC', 'LOCAL') <= '2013-02-22 23:59:59' AND ct.organizationId IN ( SELECT t.organizationId FROM organization_ AS t JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%') WHERE p.organizationId = 10707 )
Jika CONVERT_TZ() tidak berfungsi, ia mungkin disebabkan oleh tiada atau kosong jadual zon waktu. Anda boleh memulakan jadual zon waktu menggunakan program mysql_tzinfo_to_sql.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tarikh UTC ke Zon Waktu Tempatan dalam MySQL Select Query?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!