'المناطق الزمنية هي إحدى المفاهيم المعقدة التي يتعين على المطورين التعامل معها. على الرغم من أن الأدوات والتطبيقات في قواعد البيانات العلائقية تهدف إلى جعلها مقبولة ، إلا أنها يمكن أن تكون صعبة وفي بعض الأحيان تؤدي إلى أخطاء.
ومع ذلك ، سنناقش في هذه المقالة كيف يمكنك تحويل وقت من منطقة زمنية إلى أخرى باستخدام MySQL. '
وظيفة MySQL Convert_Tz ()
تمكّننا وظيفة () convert_tz في MySQL من التحويل من منطقة زمنية إلى أخرى. صيغة الوظيفة كما هو موضح:
CONVERT_TZ ( dt ، from_tz ، to_tz )
تأخذ الدالة قيمة التاريخ والوقت المطلوب تحويلها ، والمنطقة الزمنية التي ترغب في التحويل منها ، والتحويل الذي تريد التحويل إليه.
يسمح لك MySQL بتحديد المناطق الزمنية كأسماء أو قيم تعويض. ستعيد الوظيفة بعد ذلك كائن التاريخ والوقت المحدد في المنطقة الزمنية المستهدفة.
مثال 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 لتحويل الوقت من منطقة زمنية إلى أخرى.
ترميز سعيد !!