“เขตเวลาเป็นหนึ่งในแนวคิดที่ซับซ้อนที่นักพัฒนาซอฟต์แวร์ต้องรับมือ แม้ว่าเครื่องมือและการใช้งานในฐานข้อมูลเชิงสัมพันธ์จะมุ่งเป้าไปที่การทำให้ใช้งานได้ แต่ก็สามารถพิสูจน์ได้ว่าท้าทายและบางครั้งก็นำไปสู่ข้อผิดพลาด
อย่างไรก็ตาม ในบทความนี้ เราจะพูดถึงวิธีการแปลงเวลาจากเขตเวลาหนึ่งเป็นเขตเวลาอื่นโดยใช้ MySQL”
MySQL Convert_Tz() ฟังก์ชั่น
ฟังก์ชัน convert_tz() ใน MySQL ช่วยให้เราสามารถแปลงจากเขตเวลาหนึ่งเป็นอีกเขตหนึ่งได้ ไวยากรณ์ของฟังก์ชันเป็นดังที่แสดง:
CONVERT_TZ ( dt,from_tz,to_tz )
ฟังก์ชันนี้ใช้ค่าวันที่และเวลาที่จะแปลง เขตเวลาที่คุณต้องการแปลง และแปลงที่คุณต้องการแปลง
MySQL อนุญาตให้คุณระบุเขตเวลาเป็นชื่อหรือค่าออฟเซ็ต ฟังก์ชันจะส่งคืนออบเจ็กต์ Datetime ที่เลือกในเขตเวลาเป้าหมาย
ตัวอย่าง 1
ด้านล่างนี้คือตัวอย่างที่แสดงวิธีการแปลงสตริงเวลาจาก EST เป็น EAT โดยใช้การชดเชยเขตเวลา
เลือกConvert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) เช่น เวลา1;
ตัวอย่างแบบสอบถามด้านบนควรส่งคืนผลลัพธ์:
| เวลา1 |
| -------------------- |
| 2022 -08-09 01: 22 : 22 |
ตัวอย่าง 2
ดังที่ได้กล่าวมาแล้ว เราสามารถระบุเขตเวลาเป้าหมายตามชื่อได้ อย่างไรก็ตาม คุณต้องดาวน์โหลดและติดตั้ง MySQL Timezones
คุณสามารถเรียกใช้คำสั่งด้านล่างเพื่อโหลดเขตเวลา
$ mysql_tzinfo_to_sql / usr / แบ่งปัน / โซนอินโฟ | mysql -ใน ราก -p mysql
หากคุณกำลังใช้ไฟล์เขตเวลา ให้รันคำสั่ง:
ดาวน์โหลดไฟล์เขตเวลาในแหล่งข้อมูลด้านล่าง:
โหลดไฟล์:
จากนั้นคุณสามารถระบุเขตเวลาเป้าหมายด้วยชื่อ:
ข้อความค้นหาด้านบนควรส่งคืนเวลาที่แปลงเป็นเขตเวลาเป้าหมายเป็น:
| เวลา |
+---------------------+
| 2022 - 10 - 10 13 : 3. 4 00 |
+---------------------+
1 แถว ใน ชุด ( 0.00 วินาที )
จบ
ในโพสต์สั้นๆ นี้ เราได้พูดถึงวิธีใช้ฟังก์ชัน convert_tz ใน MySQL เพื่อแปลงเวลาจากเขตเวลาหนึ่งไปยังอีกเขตหนึ่ง
มีความสุขในการเข้ารหัส!!