Nagko-convert ang MySQL Mula sa Isang Time Zone patungo sa Isa pa

Nagko Convert Ang Mysql Mula Sa Isang Time Zone Patungo Sa Isa Pa



'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.

pumili
convert_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:

mysql_tzinfo_to_sql tz_file tz_name | mysql -sa ugat -p mysql


I-download ang mga timezone file sa mapagkukunan sa ibaba:

https: // dev.mysql.com / mga download / timezones.html


I-load ang file:

mysql -sa ugat -p mysql < file_name


Pagkatapos ay maaari mong tukuyin ang target na timezone na may pangalang:

mysql > PUMILI CONVERT_TZ ( '2022-10-10 14:34:00' , 'US/Eastern' , 'US/Central' ) AS oras ;


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!!