MySQL, Bir Saat Dilimi'nden Diğerine Dönüştürür

Mysql Bir Saat Dilimi Nden Digerine Donusturur



“Zaman dilimleri, geliştiricilerin uğraşması gereken karmaşık kavramlardan biridir. İlişkisel veritabanlarındaki araçlar ve uygulamalar onları tolere edilebilir kılmayı amaçlasa da, zorlayıcı olabilir ve bazen hatalara yol açabilir.

Ancak bu makalede, MySQL kullanarak bir zamanı bir saat diliminden diğerine nasıl dönüştürebileceğinizi tartışacağız.”







MySQL Convert_Tz() İşlevi

MySQL'deki convert_tz() işlevi, bir saat diliminden diğerine dönüştürmemizi sağlar. İşlev sözdizimi gösterildiği gibidir:



CONVERT_TZ ( dt,from_tz,to_tz )


İşlev, dönüştürülecek tarih saat değerini, dönüştürmek istediğiniz saat dilimini ve dönüştürmek istediğiniz dönüştürmeyi alır.



MySQL, saat dilimlerini adlar veya ofset değerleri olarak belirlemenize olanak tanır. İşlev daha sonra seçilen Datetime nesnesini hedef saat diliminde döndürür.





örnek 1

Aşağıda, saat dilimi farklarını kullanarak bir zaman dizesinin EST'den EAT'ye nasıl dönüştürüleceğini gösteren bir örnek verilmiştir.

seçme
convert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) olarak zaman1;



Yukarıdaki örnek sorgu bir çıktı döndürmelidir:



| zaman1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |

Örnek 2

Belirtildiği gibi, hedef saat dilimini adıyla belirtebiliriz. Ancak bu, MySQL Timezones'u indirip kurmanızı gerektirir.

Saat dilimlerini yüklemek için aşağıdaki komutu çalıştırabilirsiniz.

$ mysql_tzinfo_to_sql / usr / Paylaş / bölge bilgisi | mysql -içinde kök -p mysql


Bir saat dilimi dosyası kullanıyorsanız, şu komutu çalıştırın:

mysql_tzinfo_to_sql tz_file tz_name | mysql -içinde kök -p mysql


Aşağıdaki kaynaktaki saat dilimi dosyalarını indirin:

https: // dev.mysql.com / İndirilenler / saat dilimleri.html


Dosyayı yükleyin:

mysql -içinde kök -p mysql < dosya adı


Ardından, hedef saat dilimini şu adla belirtebilirsiniz:

mysql > CONVERT_TZ SEÇ ( '2022-10-10 14:34:00' , 'ABD/Doğu' , 'ABD/Merkez' ) OLARAK zaman ;


Yukarıdaki sorgu, hedef saat dilimine dönüştürülen saati şu şekilde döndürmelidir:

------------------------------------+
| zaman |
------------------------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
------------------------------------+
1 sıra içinde Ayarlamak ( 0,00 saniye )

Son

Bu kısa yazıda, zamanı bir zaman diliminden diğerine dönüştürmek için MySQL'de convert_tz işlevinin nasıl kullanılacağını tartıştık.

Mutlu kodlama!!