'Ang mga timezone ay isa sa mga kumplikadong konsepto na kailangang harapin ng mga developer. Bagama't ang mga tool at pagpapatupad sa mga relational database ay naglalayong gawin itong matatagalan, maaari silang patunayan na mapaghamong at kung minsan ay humantong sa mga pagkakamali.
Sa artikulong ito, gayunpaman, tatalakayin natin kung paano mo mako-convert ang isang oras mula sa isang timezone patungo sa isa pa gamit ang MySQL.
MySQL Convert_Tz() Function
Ang convert_tz() function sa MySQL ay nagbibigay-daan sa amin na mag-convert mula sa isang timezone patungo sa isa pa. Ang function syntax ay tulad ng ipinapakita:
CONVERT_TZ ( dt,from_tz,to_tz )
Kinukuha ng function ang value ng datetime para ma-convert, ang timezone kung saan mo gustong i-convert, at ang convert kung saan mo gustong i-convert.
Binibigyang-daan ka ng MySQL na tukuyin ang mga timezone bilang mga pangalan o mga halaga ng offset. Ibabalik ng function ang napiling Datetime object sa target na timezone.
Halimbawa 1
Nasa ibaba ang isang halimbawa na naglalarawan kung paano mag-convert ng time string mula sa EST patungong EAT gamit ang mga timezone offset.
pumiliconvert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) bilang oras1;
Ang halimbawang query sa itaas ay dapat magbalik ng isang output:
| oras1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |
Halimbawa 2
Gaya ng nabanggit, maaari naming tukuyin ang target na timezone sa pamamagitan ng pangalan nito. Gayunpaman, ito ay nangangailangan sa iyo na i-download at i-install ang MySQL Timezones.
Maaari mong patakbuhin ang command sa ibaba upang i-load ang mga timezone.
$ mysql_tzinfo_to_sql / usr / ibahagi / zoneinfo | mysql -sa ugat -p mysql
Kung gumagamit ka ng timezone file, patakbuhin ang command:
I-download ang mga timezone file sa mapagkukunan sa ibaba:
I-load ang file:
Pagkatapos ay maaari mong tukuyin ang target na timezone na may pangalang:
Dapat ibalik ng query sa itaas ang oras na na-convert sa target na timezone bilang:
| oras |
+---------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 hilera sa itakda ( 0.00 sec )
Tapusin
Sa maikling post na ito, tinalakay namin kung paano gamitin ang convert_tz function sa MySQL upang i-convert ang oras mula sa isang timezone patungo sa isa pa.
Maligayang coding!!