Releases: dromara/carbon
v2.6.3-rc1
English
- Fix bug with the same results in different countries using
IsWeekend
andIsWeekday
methods. - Fix bug
carbon.Parse("").StdTime()
cause a nil pointer panic. #294 - Change errors from
private
method topublic
method. - Change the default start date of the week from
Sunday
toMonday
- Change the year of
MinValue
from-9998
to1
- Change
weeksPerLongYear
constant toWeeksPerLongYear
- Add benchmark test files
xxx_bench_test.go
- Add
IsEpoch
method to report whether is a unix epoch time(1970-01-01 00:00:00 +0000 UTC). - Add
WeekEndsAt
method to get end day of the week. - Add
SetWeekendDays
method to set weekend days of the week. - Add
DefaultWeekStartsAt
global variable to store weekend days of the week.
中文
- 修复
IsWeekend
,IsWeekday
方法不同国家返回结果一致的 bug - 修复
StdTime
方法空指针引起的异常 #294 - 将错误方法由
私有
方法改成公开
方法 - 将一周默认开始日期从
周日
改成周一
- 将
MinValue
方法的年份从-9998
更改为1
- 将
weeksPerLongYear
常量更名为WeeksPerLongYear
- 新增性能测试文件
xxx_bench_test.go
- 新增
IsEpoch
方法用于判断是否是 UNIX 纪元时间(1970-01-01 00:00:00 +0000 UTC) - 新增
WeekEndsAt
方法用于获取一周的结束日期 - 新增
SetWeekendDays
方法用于设置一周周末日期 - 新增
DefaultWeekStartsAt
全局变量用于存储默认一周休息日
v2.5.8
English
- Fix bug with the same results in different countries using
IsWeekend
andIsWeekday
methods. - Change errors from
private
method topublic
method. - Change the default start date of the week from
Sunday
toMonday
- Change the year of
MinValue
from-9998
to1
- Change
weeksPerLongYear
constant toWeeksPerLongYear
- Add
IsEpoch
method to report whether is a unix epoch time(1970-01-01 00:00:00 +0000 UTC). - Add
WeekEndsAt
method to get end day of the week. - Add
SetWeekendDays
method to set weekend days of the week. - Add
DefaultWeekStartsAt
global variable to store weekend days of the week.
中文
- 修复
IsWeekend
,IsWeekday
方法不同国家返回结果一致的 bug - 将错误方法由
私有
方法改成公开
方法 - 将一周默认开始日期从
周日
改成周一
- 将
MinValue
方法的年份从-9998
更改为1
- 将
weeksPerLongYear
常量更名为WeeksPerLongYear
- 新增
IsEpoch
方法用于判断是否是 UNIX 纪元时间(1970-01-01 00:00:00 +0000 UTC) - 新增
WeekEndsAt
方法用于获取一周的结束日期 - 新增
SetWeekendDays
方法用于设置一周周末日期 - 新增
DefaultWeekStartsAt
全局变量用于存储默认一周休息日
v2.6.2
English
- Remove
hour
,Minute
,second
parameter inCreateFromLunar
,CreateFromPersian
methods - Change some format symbol definitions involves symbols such as
U
,V
,X
,S
,T
Z
,u
,v
,x
,z
- Fix bug of incorrect judgment of
IsLeapMonth
in lunar calendar - Fix bug of
AtomFormat
andAtomLayout
return inconsistent value - Fix bug of
RFC3339Format
andRFC3339Layout
return inconsistent value time.Local
is not updated when setting global time zone- Add format symbol
o
to get time zone offset - Add
TimestampLayout
,TimestampMilliLayout
,TimestampMicroLayout
andTimestampNanoLayout
constants - Add
TimestampFormat
,TimestampMilliFormat
,TimestampMicroFormat
andTimestampNanoFormat
constants - Add
DateTimeMilli
,DateTimeMicro
,DateTimeNano
field types - Add
DateMilli
、DateMicro
、DateNano
field types - Add
TimeMilli
、TimeMicro
、TimeNano
field types - Fix missing timezone bug in
IsDST
method - Fix missing timezone bug
StartOfXXX
,EndOfXXX
methods - Fix missing timezone bug when converting other calendars to
Gregorian
calendar time.Local
is not updated when setting default timezone- Add
MaxDuration
,MinDuration
methods
中文
CreateFromLunar
,CreateFromPersian
方法去掉 hour, minute, second 参数- 更改部分格式符号定义,涉及到的符号有
U
,V
,X
,S
,T
Z
,u
,v
,x
,z
- 修复农历中
IsLeapMonth
判断错误的 bug - 修复
AtomFormat
和AtomLayout
格式返回值不一致的 bug - 修复
RFC3339Format
和RFC3339Layout
格式返回值不一致的 bug - 设置全局默认时区时不再同步更新
time.Local
- 新增格式符号
o
来获取时区偏移量 - 新增
TimestampLayout
、TimestampMilliLayout
、TimestampMicroLayout
和TimestampNanoLayout
常量 - 新增
TimestampFormat
、TimestampMilliFormat
、TimestampMicroFormat
和TimestampNanoFormat
常量 - 新增
DateTimeMilli
、DateTimeMicro
、DateTimeNano
字段类型 - 新增
DateMilli
、DateMicro
、DateNano
字段类型 - 新增
TimeMilli
、TimeMicro
、TimeNano
字段类型 - 修复
IsDST
方法丢失时区的 bug - 修复
StartOfXXX
、EndOfXXX
部分方法丢失时区的 bug - 修复其他日历转化为公历时缺失时区的 bug
- 设置默认时区时不再同步更新
time.Local
- 新增
MaxDuration
、MinDuration
方法
v2.5.6
v2.6.2-rc2
English
- Fix missing timezone bug in
IsDST
method - Fix missing timezone bug
StartOfXXX
,EndOfXXX
methods - Fix missing timezone bug when converting other calendars to
Gregorian
calendar time.Local
is not updated when setting default timezone- Add
MaxDuration
,MinDuration
methods
中文
- 修复
IsDST
方法丢失时区的 bug - 修复
StartOfXXX
、EndOfXXX
部分方法丢失时区的 bug - 修复其他日历转化为公历时缺失时区的 bug
- 设置默认时区时不再同步更新
time.Local
- 新增
MaxDuration
、MinDuration
方法
v2.5.5
English
-
golang
minimum version dependency upgraded to1.18
-
Change default global timezone from
Local
toUTC
-
Remove
hour
,Minute
,second
parameter inCreateFromLunar
,CreateFromPersian
methods -
Change some format symbol definitions involves symbols such as
U
,V
,X
,S
,T
Z
,u
,v
,x
,z
-
Fix bug of incorrect judgment of
IsLeapMonth
in lunar calendar -
Fix bug of
AtomFormat
andAtomLayout
return inconsistent value -
Fix bug of
RFC3339Format
andRFC3339Layout
return inconsistent value -
Fix missing timezone bug in
IsDST
method -
Fix missing timezone bug
StartOfXXX
,EndOfXXX
methods -
Rename
Offset
method toZoneOffset
method -
Rename
IsSetTestNow
method toIsTestNow
method -
Rename
UnSetTestNow
method toCleanTestNow
method -
Remove
Location
method, replaced byTimezone
method -
Change the judgment logic of
IsValid
andIsInvalid
methods,zero time
is no longer considered invalid time -
Add
ZoneName
method to get the time zone name -
Add
HasError
method to check if there is an error -
Add
WeekStartsAt
method to get start day of the week -
Add
ParseWithLayouts
andParseWithFormats
methods -
Add format symbol
o
to get time zone offset
中文
-
golang
最低版本依赖升级到1.18
-
默认全局时区从
Local
更改为UTC
-
CreateFromLunar
,CreateFromPersian
方法去掉 hour, minute, second 参数 -
更改部分格式符号定义,涉及到的符号有
U
,V
,X
,S
,T
Z
,u
,v
,x
,z
-
修复
IsDST
方法丢失时区的 bug -
修复
StartOfXXX
、EndOfXXX
部分方法丢失时区的 bug -
修复农历中
IsLeapMonth
判断错误的 bug -
修复
AtomFormat
和AtomLayout
格式返回值不一致的 bug -
修复
RFC3339Format
和RFC3339Layout
格式返回值不一致的 bug -
Offset
方法更名为ZoneOffset
-
IsSetTestNow
方法更名为IsTestNow
-
UnSetTestNow
方法更名为CleanTestNow
-
移除
Location
方法,由Timezone
方法替代 -
更改
IsValid
和IsInvalid
方法判断逻辑,zero time
不再视为无效时间 -
新增
ZoneName
方法获取时区名称 -
新增
HasError
方法判断是否有错误 -
新增
WeekStartsAt
方法获取周起始日期 -
新增
ParseWithLayouts
和ParseWithFormats
方法 -
新增格式符号
o
来获取时区偏移量
v2.6.2-rc1
English
- Remove
hour
,Minute
,second
parameter inCreateFromLunar
,CreateFromPersian
methods - Change some format symbol definitions involves symbols such as
U
,V
,X
,S
,T
Z
,u
,v
,x
,z
- Fix bug of incorrect judgment of
IsLeapMonth
in lunar calendar - Fix bug of
AtomFormat
andAtomLayout
return inconsistent value - Fix bug of
RFC3339Format
andRFC3339Layout
return inconsistent value time.Local
is not updated when setting global time zone- Add format symbol
o
to get time zone offset - Add
TimestampLayout
,TimestampMilliLayout
,TimestampMicroLayout
andTimestampNanoLayout
constants - Add
TimestampFormat
,TimestampMilliFormat
,TimestampMicroFormat
andTimestampNanoFormat
constants - Add
DateTimeMilli
,DateTimeMicro
,DateTimeNano
field types - Add
DateMilli
、DateMicro
、DateNano
field types - Add
TimeMilli
、TimeMicro
、TimeNano
field types
中文
CreateFromLunar
,CreateFromPersian
方法去掉 hour, minute, second 参数- 更改部分格式符号定义,涉及到的符号有
U
,V
,X
,S
,T
Z
,u
,v
,x
,z
- 修复农历中
IsLeapMonth
判断错误的 bug - 修复
AtomFormat
和AtomLayout
格式返回值不一致的 bug - 修复
RFC3339Format
和RFC3339Layout
格式返回值不一致的 bug - 设置全局默认时区时不再同步更新
time.Local
- 新增格式符号
o
来获取时区偏移量 - 新增
TimestampLayout
、TimestampMilliLayout
、TimestampMicroLayout
和TimestampNanoLayout
常量 - 新增
TimestampFormat
、TimestampMilliFormat
、TimestampMicroFormat
和TimestampNanoFormat
常量 - 新增
DateTimeMilli
、DateTimeMicro
、DateTimeNano
字段类型 - 新增
DateMilli
、DateMicro
、DateNano
字段类型 - 新增
TimeMilli
、TimeMicro
、TimeNano
字段类型
v2.6.1
English
- Add
ParseWithLayouts
andParseWithFormats
methods - Rename
formatFactory
interface toFormatFactory
,formatFactory
interface toFormatFactory
,formatFactory
interface toFormatFactory
, and add type constraints - Change the return value of the
GormDataType
method of theLayoutType
,FormatType
,TimestampType
struct
totime
- Change
DateTime
,Date
,Time
types fromstruct
tostring
- Change
Timestamp
、TimestampMilli
、TimestampMicro
,TimestampNano
types fromstruct
toint64
- Move built-in database field types to new file
types.go
- Fixed
updated_at
field is automatically updated and invalid whengorm
updates data
中文
- 新增
ParseWithLayouts
和ParseWithFormats
方法 - 将
formatFactory
接口更名为FormatFactory
,formatFactory
接口更名为FormatFactory
,formatFactory
接口更名为FormatFactory
, 并添加类型约束 - 将
LayoutType
,FormatType
,TimestampType
结构体GormDataType
方法的返回值更改为time
- 将
DateTime
、Date
、Time
类型从struct
更改为string
- 将
Timestamp
、TimestampMilli
、TimestampMicro
,TimestampNano
类型从struct
更改为int64
- 将内置数据库字段类型移动到新文件
types.go
- 修复
gorm
更新数据时updated_at
字段自动更新无效的 bug
v2.6.0
English
golang
minimum version dependency upgraded to1.18
carbon
,julian
,lunar
,persian
changed from value passing to pointer passing- Add
ZoneName
method to get the time zone name - Add
HasError
method to check if there is an error - Add
IsNil
method to check if it isnil
- Add
Copy
method to deep copycarbon
- Add
WeekStartsAt
method to get start day of the week - Add example file
xxx_example.go
- Add a new
constant.go
file and migrate constants from thecarbon.go
file to this file - Change default global timezone from
Local
toUTC
- Rename
Offset
method toZoneOffset
method - Rename
IsSetTestNow
method toIsTestNow
method - Rename
UnSetTestNow
method toCleanTestNow
method - Remove
Location
method, replaced byTimezone
method - Change the judgment logic of
IsValid
andIsInvalid
methods,zero time
is no longer considered invalid time - Update
time.Local
when setting the global default timezone - Refactor
database.go
and removecarbon.DateTime
,carbon. DateTimeMilli
,carbon.DateTimeMicro
,carbon.DateTimeNano
,carbon. Date
,carbon.DateMilli
,carbon.DateMicro
,carbon.DateNano
,carbon.Time
,carbon.TimeMilli
,carbon.TimeMicro
,carbon.TimeNano
,carbon.Timestamp
,carbon.TimestampMilli
,carbon.TimestampMicro
,carbon.TimestampNano
field types, use generic fields instead to implement custom output format whenMarshalJSON/UnmarshalJSON
中文
golang
最低版本依赖升级到1.18
carbon
,julian
,lunar
,persian
从值传递改成指针传递- 新增
ZoneName
方法获取时区名称 - 新增
HasError
方法判断是否有错误 - 新增
IsNil
方法判断是否是nil
- 新增
Copy
方法对carbon
进行深度复制 - 新增
WeekStartsAt
方法获取周起始日期 - 新增示例文件
xxx_example.go
- 新增
constant.go
文件,将常量从carbon.go
文件迁移到此文件 - 默认全局时区从
Local
更改为UTC
Offset
方法更名为ZoneOffset
IsSetTestNow
方法更名为IsTestNow
UnSetTestNow
方法更名为CleanTestNow
- 移除
Location
方法,由Timezone
方法替代 - 更改
IsValid
和IsInvalid
方法判断逻辑,zero time
不再视为无效时间 - 设置全局默认时区时同步更新
time.Local
- 重构
database.go
,移除carbon.DateTime
、carbon. DateTimeMilli
、carbon.DateTimeMicro
、carbon.DateTimeNano
、carbon. Date
、carbon.DateMilli
、carbon.DateMicro
、carbon.DateNano
、carbon.Time
、carbon.TimeMilli
、carbon.TimeMicro
、carbon.TimeNano
、carbon.Timestamp
、carbon.TimestampMilli
、carbon.TimestampMicro
、carbon.TimestampNano
字段类型, 使用泛型字段替代以实现MarshalJSON/UnmarshalJSON
时自定义输出格式