Skip to content

Releases: dromara/carbon

v2.6.3-rc1

14 Apr 04:13
Compare
Choose a tag to compare
English
  • Fix bug with the same results in different countries using IsWeekend and IsWeekday methods.
  • Fix bug carbon.Parse("").StdTime() cause a nil pointer panic. #294
  • Change errors from private method to public method.
  • Change the default start date of the week from Sunday to Monday
  • Change the year of MinValue from -9998 to 1
  • Change weeksPerLongYear constant to WeeksPerLongYear
  • 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

13 Apr 13:14
Compare
Choose a tag to compare
English
  • Fix bug with the same results in different countries using IsWeekend and IsWeekday methods.
  • Change errors from private method to public method.
  • Change the default start date of the week from Sunday to Monday
  • Change the year of MinValue from -9998 to 1
  • Change weeksPerLongYear constant to WeeksPerLongYear
  • 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

08 Apr 02:15
Compare
Choose a tag to compare
English
  • Remove hour, Minute,second parameter in CreateFromLunar,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 and AtomLayout return inconsistent value
  • Fix bug of RFC3339Format and RFC3339Layout 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 and TimestampNanoLayout constants
  • Add TimestampFormat, TimestampMilliFormat, TimestampMicroFormat and TimestampNanoFormat constants
  • Add DateTimeMilli, DateTimeMicro, DateTimeNano field types
  • Add DateMilliDateMicroDateNano field types
  • Add TimeMilliTimeMicroTimeNano 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
  • 修复 AtomFormatAtomLayout 格式返回值不一致的 bug
  • 修复 RFC3339FormatRFC3339Layout 格式返回值不一致的 bug
  • 设置全局默认时区时不再同步更新 time.Local
  • 新增格式符号o 来获取时区偏移量
  • 新增 TimestampLayoutTimestampMilliLayoutTimestampMicroLayoutTimestampNanoLayout 常量
  • 新增 TimestampFormatTimestampMilliFormatTimestampMicroFormatTimestampNanoFormat 常量
  • 新增 DateTimeMilliDateTimeMicroDateTimeNano 字段类型
  • 新增 DateMilliDateMicroDateNano 字段类型
  • 新增 TimeMilliTimeMicroTimeNano 字段类型
  • 修复 IsDST 方法丢失时区的 bug
  • 修复 StartOfXXXEndOfXXX 部分方法丢失时区的 bug
  • 修复其他日历转化为公历时缺失时区的 bug
  • 设置默认时区时不再同步更新 time.Local
  • 新增 MaxDurationMinDuration 方法

v2.5.6

08 Apr 11:35
Compare
Choose a tag to compare
test: nil loc -> nil location

v2.6.2-rc2

02 Apr 05:54
Compare
Choose a tag to compare
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
  • 修复 StartOfXXXEndOfXXX 部分方法丢失时区的 bug
  • 修复其他日历转化为公历时缺失时区的 bug
  • 设置默认时区时不再同步更新 time.Local
  • 新增 MaxDurationMinDuration 方法

v2.5.5

02 Apr 06:36
Compare
Choose a tag to compare
English
  • golang minimum version dependency upgraded to 1.18

  • Change default global timezone from Local to UTC

  • Remove hour, Minute,second parameter in CreateFromLunar,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 and AtomLayout return inconsistent value

  • Fix bug of RFC3339Format and RFC3339Layout return inconsistent value

  • Fix missing timezone bug in IsDST method

  • Fix missing timezone bug StartOfXXX, EndOfXXX methods

  • Rename Offset method to ZoneOffset method

  • Rename IsSetTestNow method to IsTestNow method

  • Rename UnSetTestNow method to CleanTestNow method

  • Remove Location method, replaced by Timezone method

  • Change the judgment logic of IsValid and IsInvalid 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 and ParseWithFormats 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

  • 修复 StartOfXXXEndOfXXX 部分方法丢失时区的 bug

  • 修复农历中 IsLeapMonth 判断错误的 bug

  • 修复 AtomFormatAtomLayout 格式返回值不一致的 bug

  • 修复 RFC3339FormatRFC3339Layout 格式返回值不一致的 bug

  • Offset 方法更名为 ZoneOffset

  • IsSetTestNow 方法更名为 IsTestNow

  • UnSetTestNow 方法更名为 CleanTestNow

  • 移除 Location 方法,由 Timezone 方法替代

  • 更改 IsValidIsInvalid 方法判断逻辑,zero time 不再视为无效时间

  • 新增 ZoneName 方法获取时区名称

  • 新增 HasError 方法判断是否有错误

  • 新增 WeekStartsAt 方法获取周起始日期

  • 新增 ParseWithLayoutsParseWithFormats 方法

  • 新增格式符号o 来获取时区偏移量

v2.6.2-rc1

31 Mar 02:11
Compare
Choose a tag to compare
English
  • Remove hour, Minute,second parameter in CreateFromLunar,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 and AtomLayout return inconsistent value
  • Fix bug of RFC3339Format and RFC3339Layout 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 and TimestampNanoLayout constants
  • Add TimestampFormat, TimestampMilliFormat, TimestampMicroFormat and TimestampNanoFormat constants
  • Add DateTimeMilli, DateTimeMicro, DateTimeNano field types
  • Add DateMilliDateMicroDateNano field types
  • Add TimeMilliTimeMicroTimeNano field types
中文
  • CreateFromLunar, CreateFromPersian 方法去掉 hour, minute, second 参数
  • 更改部分格式符号定义,涉及到的符号有 U, V, X,S,T Z,u,v,x,z
  • 修复农历中 IsLeapMonth 判断错误的 bug
  • 修复 AtomFormatAtomLayout 格式返回值不一致的 bug
  • 修复 RFC3339FormatRFC3339Layout 格式返回值不一致的 bug
  • 设置全局默认时区时不再同步更新 time.Local
  • 新增格式符号o 来获取时区偏移量
  • 新增 TimestampLayoutTimestampMilliLayoutTimestampMicroLayoutTimestampNanoLayout 常量
  • 新增 TimestampFormatTimestampMilliFormatTimestampMicroFormatTimestampNanoFormat 常量
  • 新增 DateTimeMilliDateTimeMicroDateTimeNano 字段类型
  • 新增 DateMilliDateMicroDateNano 字段类型
  • 新增 TimeMilliTimeMicroTimeNano 字段类型

v2.6.1

27 Mar 01:58
Compare
Choose a tag to compare
English
  • Add ParseWithLayouts and ParseWithFormats methods
  • Rename formatFactory interface to FormatFactory, formatFactory interface to FormatFactory, formatFactory interface to FormatFactory, and add type constraints
  • Change the return value of the GormDataType method of the LayoutType, FormatType, TimestampType struct to time
  • Change DateTime, Date, Time types from struct to string
  • Change TimestampTimestampMilliTimestampMicro,TimestampNano types from struct to int64
  • Move built-in database field types to new file types.go
  • Fixed updated_at field is automatically updated and invalid when gorm updates data
中文
  • 新增 ParseWithLayoutsParseWithFormats 方法
  • formatFactory 接口更名为 FormatFactory, formatFactory 接口更名为 FormatFactory, formatFactory 接口更名为 FormatFactory, 并添加类型约束
  • LayoutType ,FormatType, TimestampType 结构体GormDataType 方法的返回值更改为 time
  • DateTimeDateTime 类型从 struct 更改为 string
  • TimestampTimestampMilliTimestampMicro,TimestampNano 类型从 struct 更改为 int64
  • 将内置数据库字段类型移动到新文件 types.go
  • 修复 gorm 更新数据时 updated_at 字段自动更新无效的 bug

v2.6.0

25 Mar 01:40
Compare
Choose a tag to compare

⚠️ This is a break update version, please upgrade with caution, but it is strongly recommended to upgrade 这是一个破坏性更新版本,请慎重升级,但是强烈建议升级

English
  • golang minimum version dependency upgraded to 1.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 is nil
  • Add Copy method to deep copy carbon
  • 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 the carbon.go file to this file
  • Change default global timezone from Local to UTC
  • Rename Offset method to ZoneOffset method
  • Rename IsSetTestNow method to IsTestNow method
  • Rename UnSetTestNow method to CleanTestNow method
  • Remove Location method, replaced by Timezone method
  • Change the judgment logic of IsValid and IsInvalid methods, zero time is no longer considered invalid time
  • Update time.Local when setting the global default timezone
  • Refactor database.go and remove 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 field types, use generic fields instead to implement custom output format when MarshalJSON/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 方法替代
  • 更改 IsValidIsInvalid 方法判断逻辑,zero time 不再视为无效时间
  • 设置全局默认时区时同步更新 time.Local
  • 重构 database.go,移除 carbon.DateTimecarbon. DateTimeMilli carbon.DateTimeMicrocarbon.DateTimeNanocarbon. Datecarbon.DateMillicarbon.DateMicrocarbon.DateNanocarbon.Timecarbon.TimeMillicarbon.TimeMicrocarbon.TimeNanocarbon.Timestampcarbon.TimestampMilli carbon.TimestampMicrocarbon.TimestampNano 字段类型, 使用泛型字段替代以实现 MarshalJSON/UnmarshalJSON 时自定义输出格式

v2.5.4

05 Mar 06:39
Compare
Choose a tag to compare
  • add Norwegian language support, translated by bendikrb #281
  • add optional parameter time.Time in NewCarbon method
  • move all constant from carbon.go to a new constant.go