hungtrd / amlich

:calendar: :crescent_moon: Vietnamese Lunar Calendar Golang
MIT License
3 stars 4 forks source link
go golang lunar-calendar vietnamese

amlich

Build Status Go Report Card Sourcegraph Release

Sử dụng để chuyển đổi từ ngày Dương Lịch sang ngày Âm Lịch và ngược lại

Cài đặt package

go get github.com/hungtrd/amlich

Sử dụng

Khởi tạo

lunar := amlich.New(time.Now().In(amlich.VietnamLocation()))

fmt.Printf("Âm lịch: ngày %02d, tháng %02d, năm %d\n", l.Day, l.Month, l.Year) // Âm lịch: ngày 03, tháng 05, năm 2023

// Can chi
fmt.Printf("Âm lịch: ngày %s, tháng %s, năm %s\n", l.DayAlias(), l.MonthAlias(), l.YearAlias()) // Âm lịch: ngày Kỷ Dậu, tháng Mậu Ngọ, năm Quý Mão

// Chuyển đổi
solar := lunar.ToSolar()
fmt.Println(solar.Weekday()) // Thứ Hai
fmt.Println(solar.String()) // Thứ Hai, ngày 20, tháng 06, năm 2023

Sử dụng hàm convert trực tiếp

Đổi từ ngày Dương Lịch sang ngày Âm Lịch \ leap có giá trị 1 nếu tháng đó là tháng nhuận

timeLoc, _ := time.LoadLocation("Asia/Ho_Chi_Minh")
today := time.Now().In(timeLoc)
tz := 7 // GMT +7
lunD, lunM, lunY, leap := amlich.Solar2Lunar(today.Day(), int(today.Month()), today.Year(), tz)

Đổi từ ngày Âm Lịch sang ngày Dương Lịch

lunD, lunM, lunY, leap := 1, 1, 2023, 0
tz := 7 // GMT +7
d, m, y := amlich.Lunar2Solar(lunD, lunM, lunY, leap, tz)

Todo

Tài liệu tham khảo