2 Star 0 Fork 70

golang-package/carbon

forked from dromara/carbon 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
calendar.go 1.79 KB
一键复制 编辑 原始数据 按行查看 历史
package carbon
import (
"gitee.com/golang-package/carbon/v2/calendar/julian"
"gitee.com/golang-package/carbon/v2/calendar/lunar"
"gitee.com/golang-package/carbon/v2/calendar/persian"
)
// Lunar converts Carbon instance to Lunar instance.
func (c *Carbon) Lunar() *lunar.Lunar {
if c.IsNil() {
return nil
}
if c.IsZero() || c.IsEmpty() {
return &lunar.Lunar{}
}
if c.HasError() {
return &lunar.Lunar{Error: c.Error}
}
return lunar.FromStdTime(c.StdTime())
}
// CreateFromLunar creates a Carbon instance from Lunar date.
func CreateFromLunar(year, month, day int, isLeapMonth bool) *Carbon {
l := lunar.NewLunar(year, month, day, isLeapMonth)
if l.Error != nil {
return &Carbon{Error: l.Error}
}
return NewCarbon(l.ToGregorian(DefaultTimezone).Time)
}
// Julian converts Carbon instance to Julian instance.
func (c *Carbon) Julian() *julian.Julian {
if c.IsNil() {
return nil
}
if c.IsEmpty() {
return &julian.Julian{}
}
if c.HasError() {
return &julian.Julian{}
}
return julian.FromStdTime(c.StdTime())
}
// CreateFromJulian creates a Carbon instance from Julian Day or Modified Julian Day.
func CreateFromJulian(f float64) *Carbon {
return NewCarbon(julian.NewJulian(f).ToGregorian(DefaultTimezone).Time)
}
// Persian converts Carbon instance to Persian instance.
func (c *Carbon) Persian() *persian.Persian {
if c.IsNil() {
return nil
}
if c.IsZero() || c.IsEmpty() {
return &persian.Persian{}
}
if c.HasError() {
return &persian.Persian{Error: c.Error}
}
return persian.FromStdTime(c.StdTime())
}
// CreateFromPersian creates a Carbon instance from Persian date.
func CreateFromPersian(year, month, day int) *Carbon {
p := persian.NewPersian(year, month, day)
if p.Error != nil {
return &Carbon{Error: p.Error}
}
return NewCarbon(p.ToGregorian(DefaultTimezone).Time)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/golang-package/carbon.git
git@gitee.com:golang-package/carbon.git
golang-package
carbon
carbon
master

搜索帮助