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("Error parsing date:", err)
return
}
// แสดงผลวันที่ที่แยกวิเคราะห์ได้
fmt.Println("Parsed Date:", parsedDate)
}
เมื่อคุณรันโค้ดนี้ คุณจะได้รับ:
Parsed Date: 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 ในเรื่องความเรียบง่ายและชัดเจน