hungtrd / amlich

:calendar: :crescent_moon: Vietnamese Lunar Calendar Golang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • Đổi từ ngày dương lịch sang ngày âm lịch và ngược lại
  • Đổi ngày tháng năm ra can chi
  • Tính giờ hoàng đạo trong ngày
  • Ngày lễ đặc biệt trong lịch âm
  • Tính tiết khí

Tài liệu tham khảo

About

:calendar: :crescent_moon: Vietnamese Lunar Calendar Golang

License:MIT License


Languages

Language:Go 100.0%