Go:
המרת תאריך למחרוזת
איך לעשות:
ב-Go, החבילה time
מספקת פונקציונליות לעבודה עם תאריכים וזמנים, כולל פירמוט של אובייקט time.Time
למחרוזת. המתודה Format
של סוג time.Time
משמשת למטרה זו, כאשר אתה מציין את המחרוזת של המערך לפי זמן ההתייחסות “Mon Jan 2 15:04:05 MST 2006”.
דוגמא:
package main
import (
"fmt"
"time"
)
func main() {
currentTime := time.Now() // מקבל את התאריך והשעה הנוכחיים
fmt.Println("זמן נוכחי:", currentTime)
// עיצוב הזמן הנוכחי בפורמט dd-mm-yyyy
formattedDate := currentTime.Format("02-01-2006")
fmt.Println("תאריך מעוצב:", formattedDate)
// עיצוב הזמן הנוכחי בצורה מפורטת יותר
detailedFormat := currentTime.Format("Mon, 02 Jan 2006 15:04:05 MST")
fmt.Println("תאריך מעוצב בפירוט:", detailedFormat)
}
פלט לדוגמא:
זמן נוכחי: 2023-04-12 11:45:20.312457 +0000 UTC
תאריך מעוצב: 12-04-2023
תאריך מעוצב בפירוט: Wed, 12 Apr 2023 11:45:20 UTC
הפלט עשוי להשתנות בהתאם לתאריך ולשעה הנוכחיים כאשר התוכנית מופעלת.
טבילה עמוקה:
בהקשר של Go, ניהול תאריך וזמן, כולל פורמוטינג, מנוהל בעיקר על ידי החבילה time
. השיטה לפירמוט תאריכים ב-Go, המצוינת על ידי המתודה Format
באמצעות מחרוזת מערך מסוימת, היא ייחודית בהשוואה לשפות תכנות רבות אחרות שעשויות להשתמש במפרטי פורמט פשוטים כמו %Y
לשנה בארבע ספרות. הדרך של Go דורשת ממתכנתים לזכור את זמן ההתייחסות הספציפי: Mon Jan 2 15:04:05 MST 2006, שכן הוא משמש כתבנית לעיצוב או ניתוח תאריכים.
שיטה זו, אף על פי שהיא לא אינטואיטיבית בתחילה למפתחים המכירים בפונקציות עיצוב דומות ל-strftime, נוצרה לצורך בהירות וכדי למנוע בלבול של פורמטים תלויי אזור. לאחר התרגלות, רבים מוצאים כי השיטה הזו מפחיתה טעויות ומשפרת את קריאות הקוד.
בנוסף, השימוש בחבילת הסטנדרט של Go משמעו שלרוב פונקציונליות השימוש הנפוצות אין צורך בספריות צד שלישי. זה מפשט את ניהול התלות ומבטיח התנהגות עקבית בפרויקטים שונים. עם זאת, עבור עיבוד מורכב יותר של המרות אזורי זמן או חישובי תאריכים חוזרים, מפתחים עשויים לזדקק להצטער לחקור חבילות נוספות כמו github.com/rickar/cal
לחישובי חגים או github.com/golang/time
לניהול זמן מורכב יותר מעבר למה שחבילת ה-time
הסטנדרטית מציעה.