ניתוח תאריך ממחרוזת

Go:
ניתוח תאריך ממחרוזת

איך לעשות:

Go מספקת תמיכה איתנה לפיענוח תאריכים וזמנים דרך חבילת ה-time. המפתח הוא להבין את פורמט התאריך המופנה של Go: Mon Jan 2 15:04:05 MST 2006, שבאמצעותו אתה מודיע ל-Go איך לפרש את המחרוזת הנכנסת. הנה דוגמה מהירה להתחלה:

package main

import (
	"fmt"
	"time"
)

func main() {
	// דוגמת מחרוזת תאריך
	dateStr := "2023-04-12 14:45:00"
	
	// הגדרת פורמט/מבנה של מחרוזת התאריך הקלט
	// מבנה זה אומר ל-Go לצפות לשנה, אחריה חודש, 
	// אז יום, שעה, דקה, ולבסוף שנייה
	layout := "2006-01-02 15:04:05"
	
	// פרסום מחרוזת התאריך לפי המבנה
	parsedDate, err := time.Parse(layout, dateStr)
	if err != nil {
		fmt.Println("שגיאה בפרסום תאריך:", err)
		return
	}
	
	// הדפסת התאריך שפורסם
	fmt.Println("תאריך שפורסם:", parsedDate)
}

כאשר אתה מריץ את הקוד הזה, תקבל:

תאריך שפורסם: 2023-04-12 14:45:00 +0000 UTC

שים לב כיצד המחרוזת layout משתמשת בערכי התאריך המופנה כדי לציין את פורמט המחרוזת הקלט. תאם את הlayout כדי שיתאים לפורמט של התאריכים הקלט שלך.

עיון נוסף

עיצוב פרסום התאריך והשעה ב-Go הוא ייחודי, תוך שימוש בתאריך ייחוס מסוים (Mon Jan 2 15:04:05 MST 2006). הבחירה בגישה זו, במקום להשתמש במפרטי פורמט יותר מסורתיים (כמו YYYY לשנה), נבחרה בשל קריאות ונוחות שימוש, תוך לימוד מדוגמה.

למרות שתחילה זה עשוי להיראות לא שגרתי למתכנתים המתרגלים לשפות אחרות, רבים מוצאים אותו יותר אינטואיטיבי לאחר תקופת הסתגלות קצרה. ליישומים הדורשים ניהול תאריכים מורכב יותר או פורמטים שלא נתמכים ישירות על ידי חבילת ה-time של Go, ספריות צד שלישי כמו github.com/jinzhu/now יכולות להציע פונקציונליות נוספת. עם זאת, לרוב היישומים הסטנדרטיים, היכולות הפנימיות של Go הן חזקות, מהירות ונהוגות, מגלמות את פילוסופיית Go של פשטות ובהירות.