تعرف على كيفية تنسيق تاريخ في Go ، باستخدام ثوابت التنسيق أو تنسيق مخصص
في Go ، يمكن تحديد الوقت الحالي باستخدامtime.Now()
، المقدمة منtime
صفقة.
t := time.Now()
سيؤدي ذلك إلى طباعة التوقيت المحلي للنظام. هل تريد UTC بدلاً من ذلك؟ ألحق.UTC()
:
يمكن تنسيق الوقت باستخدام ملفtime.Format()
طريقة:
t := time.Now().UTC()
تريد الطابع الزمني؟
t := time.Now().Unix()
استخدم تنسيقًا مخصصًا
مثال على التنسيق بتنسيق مخصص هو:
fmt.Println(t.Format("2006-01-02 15:04:05"))
الذي - التي2006-01-02 15:04:05
السلسلة تبدو غريبة ، أليس كذلك؟ ليس الأمر كما لو كان عام 2006 الآن! لكنها ستطبع (وقت كتابة هذا التقرير)2017-01-16 12:53:51
إذا كنت جديدًا على Go ، فسيبدو هذاللغايةغريب.
إليك الشرح: تنسيق الوقت في Go فريد ومختلف عما ستفعله باللغات الأخرى. بدلاً من وجود تنسيق تقليدي لطباعة التاريخ ، يستخدم Go التاريخ المرجعي20060102150405
الذي يبدو بلا معنى ولكنه في الواقع له سبب ، لأنه1 2 3 4 5 6
في Posixdate
يأمر:
Mon Jan 2 15:04:05 -0700 MST 2006
0 1 2 3 4 5 6
كانت المنطقة الزمنية في المنتصف هي7
(لست متأكدًا حقًا من سبب عدم اختيارهمMon Jan 2 03:04:05 -0600 MST 2007
، على فكرة)
مرجع تاريخي مثير للاهتمام:https://github.com/golang/go/issues/444
استخدم ثوابت التنسيق
يوفر Go فيtime
حزم بعض الثوابت المفيدة للتنسيقات الشائعة الاستخدام:
const (
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
)
يمكنك استخدامها على النحو التالي:
t := time.Now()
fmt.Println(t.Format(time.ANSIC))
المزيد من دروس Go:
- استخدام وكيل NGINX العكسي لخدمة خدمات Go
- عمل نسخة من هيكل في Go
- أساسيات Go Web Server
- فرز نوع الخريطة في Go
- الذهاب المؤشرات باختصار
- وأوضح Go Tags
- الذهاب تنسيق التاريخ والوقت
- معالجة JSON باستخدام Go
- وظائف متنوعة
- ورقة الغش Go Strings
- شرح واجهة Go Empty
- تصحيح الأخطاء الذهاب مع VS Code و Delve
- تقوم Named Go بإرجاع المعلمات
- توليد أرقام وسلاسل عشوائية في Go
- بنية نظام الملفات لمشروع Go
- تم تنفيذ خوارزمية البحث الثنائي في Go
- استخدام إشارات سطر الأوامر في Go
- أوضح جوباته
- أنشئ تطبيق Command Line باستخدام Go: lolcat
- إنشاء أمر CLI باستخدام Go: cowsay
- استخدام أنابيب شل مع Go
- Go CLI التعليمي: Fortune clone
- ضع قائمة بالملفات في مجلد باستخدام Go
- استخدم Go للحصول على قائمة بالمستودعات من GitHub
- اذهب ، قم بإلحاق شريحة من السلاسل بملف
- اذهب ، قم بتحويل سلسلة إلى شريحة بايت
- تصور مساهمات Git المحلية الخاصة بك مع Go
- الشروع في استخدام Go CPU وتوصيف الذاكرة
- حل الخطأ "لا يدعم الفهرسة" في برنامج Go
- قياس وقت التنفيذ في برنامج Go
- بناء زاحف الويب باستخدام Go لاكتشاف العناوين المكررة
- Go Best Practices: المؤشر أم مستقبلات القيمة؟
- Go Best Practices: هل يجب عليك استخدام طريقة أم دالة؟
- Go Data Structures: Set
- ورقة الغش في خرائط Go
- إنشاء تطبيقات لأنواع عامة في Go
- Go Data Structures: القاموس
- Go هياكل البيانات: Hash Table
- تنفيذ مستمعي الأحداث في الانتقال عبر القنوات
- Go Data Structures: Stack
- Go هياكل البيانات: قائمة الانتظار
- Go Data Structures: Binary Search Tree
- Go هياكل البيانات: رسم بياني
- Go Data Structures: قائمة مرتبطة
- الدليل الكامل إلى Go Data Structures
- مقارنة قيم Go
- هل Go موجه للكائن؟
- العمل مع قاعدة بيانات SQL في Go
- استخدام متغيرات البيئة في Go
- Go البرنامج التعليمي: REST API مدعوم من PostgreSQL
- تمكين CORS على خادم Go Web
- نشر تطبيق Go في حاوية Docker
- لماذا Go هي لغة قوية للتعلم كمطور PHP
- اذهب ، قم بإزالة io.Reader.ReadString حرف سطر جديد
- اذهب ، كيف تراقب التغييرات وتعيد بناء برنامجك
- اذهب وعد الأشهر منذ تاريخ
- الوصول إلى معلمات HTTP POST في Go