“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çmeconvert_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:
Aşağıdaki kaynaktaki saat dilimi dosyalarını indirin:
Dosyayı yükleyin:
Ardından, hedef saat dilimini şu adla belirtebilirsiniz:
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!!