Chuyển đổi ngày thành chuỗi

Go:
Chuyển đổi ngày thành chuỗi

Làm thế nào:

Trong Go, gói time cung cấp các chức năng để làm việc với ngày và giờ, bao gồm định dạng một đối tượng time.Time thành một chuỗi. Phương thức Format của kiểu time.Time được sử dụng cho mục đích này, nơi bạn chỉ định chuỗi layout theo thời gian tham chiếu “Mon Jan 2 15:04:05 MST 2006”.

Ví dụ:

package main

import (
	"fmt"
	"time"
)

func main() {
	currentTime := time.Now() // lấy ngày và giờ hiện tại
	fmt.Println("Thời Gian Hiện Tại:", currentTime)

	// Định dạng thời gian hiện tại theo định dạng dd-mm-yyyy
	formattedDate := currentTime.Format("02-01-2006")
	fmt.Println("Ngày Đã Định Dạng:", formattedDate)

	// Định dạng thời gian hiện tại chi tiết hơn
	detailedFormat := currentTime.Format("Mon, 02 Jan 2006 15:04:05 MST")
	fmt.Println("Ngày Đã Định Dạng Chi Tiết:", detailedFormat)
}

Đầu Ra Mẫu:

Thời Gian Hiện Tại: 2023-04-12 11:45:20.312457 +0000 UTC
Ngày Đã Định Dạng: 12-04-2023
Ngày Đã Định Dạng Chi Tiết: Wed, 12 Apr 2023 11:45:20 UTC

Đầu ra sẽ thay đổi tùy theo ngày và giờ hiện tại khi chạy chương trình.

Sâu Hơn:

Trong bối cảnh của Go, việc thao tác ngày và giờ, bao gồm định dạng, chủ yếu được xử lý bởi gói time. Cách tiếp cận định dạng ngày trong Go, được chỉ định bởi phương thức Format sử dụng một chuỗi layout cụ thể, là độc đáo so với nhiều ngôn ngữ lập trình khác có thể sử dụng các chỉ định định dạng đơn giản như %Y cho một năm 4 chữ số. Cách của Go yêu cầu lập trình viên nhớ thời gian tham chiếu cụ thể: Mon Jan 2 15:04:05 MST 2006, vì nó hoạt động như một mẫu cho việc định dạng hoặc phân tích cú pháp ngày tháng.

Phương pháp này, mặc dù ban đầu không trực quan với những lập trình viên quen với các hàm định dạng giống như strftime, được thiết kế cho sự rõ ràng và tránh sự nhầm lẫn của các định dạng phụ thuộc vào địa phương. Một khi quen với nó, nhiều người thấy rằng cách tiếp cận này giảm thiểu lỗi và cải thiện khả năng đọc code.

Hơn nữa, cách tiếp cận thư viện chuẩn của Go có nghĩa là cho hầu hết các trường hợp sử dụng phổ biến, các thư viện bên thứ ba không cần thiết. Điều này đơn giản hóa quản lý phụ thuộc và đảm bảo hành vi nhất quán trên các dự án khác nhau. Tuy nhiên, khi làm việc với những chuyển đổi múi giờ phức tạp hơn hoặc tính toán ngày lặp lại, lập trình viên có thể cần xem xét các gói bổ sung như github.com/rickar/cal cho các tính toán ngày lễ hoặc github.com/golang/time cho việc thao tác thời gian tinh vi hơn ngoài những gì gói time chuẩn cung cấp.