تحليل الوقت بمنطقة زمنية محددة
يمكنك استخدام time.ParseTime() للحصول على بنية زمنية من سلسلة. يأخذ سلسلة تخطيط كوسيطة، والتي تحدد تنسيق سلسلة الإدخال. يجب أن تتطابق سلسلة التخطيط مع تنسيق سلسلة الإدخال تمامًا.
إذا كنت بحاجة إلى تحليل سلسلة زمنية تتضمن منطقة زمنية، فيمكنك استخدام time.ParseInLocation(). تأخذ هذه الوظيفة سلسلة تخطيط وموقعًا كوسائط. يمكن أن يكون الموقع قيمة time.Location أو سلسلة تمثل اسم المنطقة الزمنية.
على سبيل المثال، يقوم التعليمة البرمجية التالية بتوزيع سلسلة زمنية تتضمن منطقة زمنية:
import (
"fmt"
"time"
)
func main() {
const layout = "2006-01-02 15:04"
const timeStr = "2012-07-09 05:02:00 0000 CEST"
t, err := time.ParseInLocation(layout, timeStr, time.Local)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(t)
}
سيقوم هذا الكود بطباعة الإخراج التالي:
2012-07-09 05:02:00 0000 CEST
ستعمل وظيفة time.ParseInLocation() على تحليل الوقت السلسلة وفقًا لسلسلة التخطيط والموقع المحدد. في هذه الحالة، سلسلة التخطيط هي "2006-01-02 15:04" والموقع هو "CEST". ستُرجع الدالة time.ParseInLocation() قيمة time.Time التي تمثل الوقت الذي تم تحليله.
إذا لم تحدد موقعًا، فستستخدم الدالة time.ParseInLocation() المنطقة الزمنية المحلية. وهذا يعني أنه سيتم تحويل الوقت الذي تم تحليله إلى المنطقة الزمنية المحلية.
يمكنك تجنب ذلك عن طريق إنشاء وقت. قيمة الوقت بالوقت والمنطقة الزمنية الصحيحة:
import (
"fmt"
"time"
)
func main() {
const layout = "2006-01-02 15:04"
const timeStr = "2012-07-09 05:02:00"
const timeZone = "CEST"
pz, err := time.LoadLocation(timeZone)
if err != nil {
fmt.Println(err)
return
}
t, err := time.Parse(layout, timeStr)
if err != nil {
fmt.Println(err)
return
}
T := t.In(pz)
fmt.Println(T)
}
سيقوم هذا الرمز بطباعة الإخراج التالي:
2012-07-09 05:02:00 0200 CEST
يظهر إخراج هذا الرمز الوقت بالشكل الصحيح المنطقة الزمنية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3