lunar

package
v2.3.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: MIT Imports: 4 Imported by: 0

README

Chinese Lunar

English | 简体中文 | 日本語

Usage and example

Currently only 200 years from 1900 to 2100 are supported

Convert Gregorian calendar to Lunar calendar
// Get Lunar year of animal
carbon.Parse("2020-08-05 13:14:15").Lunar().Animal() // 鼠
// Get lunar festival
carbon.Parse("2021-02-12 13:14:15").Lunar().Festival() // 春节

// Get lunar year
carbon.Parse("2020-08-05 13:14:15").Lunar().Year() // 2020
// Get lunar month
carbon.Parse("2020-08-05 13:14:15").Lunar().Month() // 6
// Get lunar leap month
carbon.Parse("2020-08-05 13:14:15").Lunar().LeapMonth() // 4
// Get lunar day
carbon.Parse("2020-08-05 13:14:15").Lunar().Day() // 16
// Get lunar hour
carbon.Parse("2020-08-05 13:14:15").Lunar().Hour() // 13
// Get lunar minute
carbon.Parse("2020-08-05 13:14:15").Lunar().Minute() // 14
// Get lunar second
carbon.Parse("2020-08-05 13:14:15").Lunar().Second() // 15

// Get lunar date and time string
carbon.Parse("2020-08-05 13:14:15").Lunar().String() // 2020-06-16 13:14:15
fmt.Printf("%s", carbon.Parse("2020-08-05 13:14:15").Lunar()) // 2020-06-16 13:14:15
// Get lunar year as string
carbon.Parse("2020-08-05 13:14:15").Lunar().ToYearString() // 二零二零
// Get lunar month as string
carbon.Parse("2020-08-05 13:14:15").Lunar().ToMonthString() // 六月
// Get lunar leap month as string
carbon.Parse("2020-04-23 13:14:15").Lunar().ToMonthString() // 闰四月
// Get lunar week as string
carbon.Parse("2020-04-23 13:14:15").Lunar().ToWeekString() // 周四
// Get lunar day as string
carbon.Parse("2020-08-05 13:14:15").Lunar().ToDayString() // 十六
// Get lunar date as string
carbon.Parse("2020-08-05 13:14:15").Lunar().ToDateString() // 二零二零年六月十六

// Whether is a lunar zero time
carbon.Parse("0000-00-00 00:00:00").Lunar().IsZero() // true
carbon.Parse("2020-08-05 13:14:15").Lunar().IsZero() // false

// Whether is a lunar leap year
carbon.Parse("2020-08-05 13:14:15").Lunar().IsLeapYear() // true
// Whether is a lunar leap month
carbon.Parse("2020-08-05 13:14:15").Lunar().IsLeapMonth() // false

// Whether is a lunar year of the rat
carbon.Parse("2020-08-05 13:14:15").Lunar().IsRatYear() // true
// Whether is a lunar year of the ox
carbon.Parse("2020-08-05 13:14:15").Lunar().IsOxYear() // false
// Whether is a lunar year of the tiger
carbon.Parse("2020-08-05 13:14:15").Lunar().IsTigerYear() // false
// Whether is a lunar year of the rabbit
carbon.Parse("2020-08-05 13:14:15").Lunar().IsRabbitYear() // false
// Whether is a lunar year of the dragon
carbon.Parse("2020-08-05 13:14:15").Lunar().IsDragonYear() // false
// Whether is a lunar year of the snake
carbon.Parse("2020-08-05 13:14:15").Lunar().IsSnakeYear() // false
// Whether is a lunar year of the horse
carbon.Parse("2020-08-05 13:14:15").Lunar().IsHorseYear() // false
// Whether is a lunar year of the goat
carbon.Parse("2020-08-05 13:14:15").Lunar().IsGoatYear() // false
// Whether is a lunar year of the monkey
carbon.Parse("2020-08-05 13:14:15").Lunar().IsMonkeyYear() // false
// Whether is a lunar year of the rooster
carbon.Parse("2020-08-05 13:14:15").Lunar().IsRoosterYear() // false
// Whether is a lunar year of the dog
carbon.Parse("2020-08-05 13:14:15").Lunar().IsDogYear() // false
// Whether is a lunar year of the dig
carbon.Parse("2020-08-05 13:14:15").Lunar().IsPigYear() // false
Convert Lunar calendar to Gregorian calendar
// Convert the Lunar Calendar December 11, 2023 to the gregorian calendar
carbon.CreateFromLunar(2023, 12, 11, 0, 0, 0, false).ToDateTimeString() // 2024-01-21 00:00:00
// Convert lunar calendar February 11, 2023 to gregorian calendar
carbon.CreateFromLunar(2023, 2, 11, 0, 0, 0, false).ToDateTimeString() // 2024-03-02 00:00:00
// Convert the Lunar Calendar Leap February 11, 2024 to the gregorian calendar
carbon.CreateFromLunar(2023, 2, 11, 0, 0, 0, true).ToDateTimeString() // 2023-04-01 00:00:00

Documentation

Overview

Package lunar is part of the carbon package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Gregorian added in v2.3.7

type Gregorian struct {
	calendar.Gregorian
}

Gregorian defines a Gregorian struct. 定义 Gregorian 结构体

func FromGregorian added in v2.3.8

func FromGregorian(t time.Time) (g Gregorian)

FromGregorian creates a Gregorian instance from time.Time. 从标准 time.Time 创建 Gregorian 实例

func (Gregorian) ToLunar added in v2.3.7

func (g Gregorian) ToLunar() (l Lunar)

ToLunar converts Gregorian instance to Lunar instance. 将 Gregorian 实例转化为 Lunar 实例

type Lunar

type Lunar struct {
	Error error
	// contains filtered or unexported fields
}

Lunar defines a Lunar struct. 定义 Lunar 结构体

func FromLunar added in v2.3.8

func FromLunar(year, month, day, hour, minute, second int, isLeapMonth bool) (l Lunar)

FromLunar creates a Lunar instance from lunar datetime. 从 农历日期 创建 Lunar 实例

func (Lunar) Animal added in v2.3.7

func (l Lunar) Animal() string

Animal gets lunar animal name like "猴". 获取农历生肖

func (Lunar) Day added in v2.3.7

func (l Lunar) Day() int

Day gets lunar day like 5. 获取农历日,如 5

func (Lunar) Festival added in v2.3.7

func (l Lunar) Festival() string

Festival gets lunar festival name like "春节". 获取农历节日

func (Lunar) Hour added in v2.3.8

func (l Lunar) Hour() int

Hour gets current hour like 13. 获取农历时辰

func (Lunar) IsDogYear added in v2.3.7

func (l Lunar) IsDogYear() bool

IsDogYear reports whether is year of Dog. 是否是狗年

func (Lunar) IsDragonYear added in v2.3.7

func (l Lunar) IsDragonYear() bool

IsDragonYear reports whether is year of Dragon. 是否是龙年

func (Lunar) IsGoatYear added in v2.3.7

func (l Lunar) IsGoatYear() bool

IsGoatYear reports whether is year of Goat. 是否是羊年

func (Lunar) IsHorseYear added in v2.3.7

func (l Lunar) IsHorseYear() bool

IsHorseYear reports whether is year of Horse. 是否是马年

func (Lunar) IsLeapMonth added in v2.3.7

func (l Lunar) IsLeapMonth() bool

IsLeapMonth reports whether is leap month. 是否是农历闰月

func (Lunar) IsLeapYear added in v2.3.7

func (l Lunar) IsLeapYear() bool

IsLeapYear reports whether is leap year. 是否是农历闰年

func (Lunar) IsMonkeyYear added in v2.3.7

func (l Lunar) IsMonkeyYear() bool

IsMonkeyYear reports whether is year of Monkey. 是否是猴年

func (Lunar) IsOxYear added in v2.3.7

func (l Lunar) IsOxYear() bool

IsOxYear reports whether is year of Ox. 是否是牛年

func (Lunar) IsPigYear added in v2.3.7

func (l Lunar) IsPigYear() bool

IsPigYear reports whether is year of Pig. 是否是猪年

func (Lunar) IsRabbitYear added in v2.3.7

func (l Lunar) IsRabbitYear() bool

IsRabbitYear reports whether is year of Rabbit. 是否是兔年

func (Lunar) IsRatYear added in v2.3.7

func (l Lunar) IsRatYear() bool

IsRatYear reports whether is year of Rat. 是否是鼠年

func (Lunar) IsRoosterYear added in v2.3.7

func (l Lunar) IsRoosterYear() bool

IsRoosterYear reports whether is year of Rooster. 是否是鸡年

func (Lunar) IsSnakeYear added in v2.3.7

func (l Lunar) IsSnakeYear() bool

IsSnakeYear reports whether is year of Snake. 是否是蛇年

func (Lunar) IsTigerYear added in v2.3.7

func (l Lunar) IsTigerYear() bool

IsTigerYear reports whether is year of Tiger. 是否是虎年

func (Lunar) IsZero added in v2.3.8

func (l Lunar) IsZero() bool

IsZero reports whether is zero time. 是否是农历零值时间

func (Lunar) LeapMonth added in v2.3.7

func (l Lunar) LeapMonth() int

LeapMonth gets lunar leap month like 2. 获取农历闰月月份,如 2

func (Lunar) Minute added in v2.3.8

func (l Lunar) Minute() int

Minute gets current minute like 14. 获取农历分钟数

func (Lunar) Month added in v2.3.7

func (l Lunar) Month() int

Month gets lunar month like 8. 获取农历月份

func (Lunar) Second added in v2.3.8

func (l Lunar) Second() int

Second gets current second like 15. 获取农历秒数

func (Lunar) String added in v2.3.7

func (l Lunar) String() string

String implements Stringer interface and outputs a string in YYYY-MM-DD HH::ii::ss format like "2019-12-07 00:00:00". 实现 Stringer 接口, 输出 YYYY-MM-DD HH::ii::ss 格式字符串,如 "2019-12-07 00:00:00"

func (Lunar) ToDateString added in v2.3.7

func (l Lunar) ToDateString() string

ToDateString outputs a string in lunar date format like "二零二零年腊月初五". 获取农历日期字符串,如 "二零二零年腊月初五"

func (Lunar) ToDayString added in v2.3.7

func (l Lunar) ToDayString() (day string)

ToDayString outputs a string in lunar day format like "廿一". 获取农历日字符串,如 "廿一"

func (Lunar) ToGregorian added in v2.3.7

func (l Lunar) ToGregorian() (g Gregorian)

ToGregorian converts Lunar instance to Gregorian instance. 将 Lunar 实例转化为 Gregorian 实例

func (Lunar) ToMonthString added in v2.3.7

func (l Lunar) ToMonthString() (month string)

ToMonthString outputs a string in lunar month format like "正月". 获取农历月份字符串,如 "正月"

func (Lunar) ToWeekString added in v2.3.8

func (l Lunar) ToWeekString() (month string)

ToWeekString outputs a string in week layout like "周一". 输出完整农历星期字符串,如 "周一"

func (Lunar) ToYearString added in v2.3.7

func (l Lunar) ToYearString() (year string)

ToYearString outputs a string in lunar year format like "二零二零". 获取农历年份字符串,如 "二零二零"

func (Lunar) Year added in v2.3.7

func (l Lunar) Year() int

Year gets lunar year like 2020. 获取农历年份

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL