変更履歴
v2.6.12 (2025-09-16)
golang
環境依存を1.21
から1.18
に下げるtestify
テストフレームワークをv1.10.0
からv1.11.1
にアップグレードtype_carbon.go
ファイルのUnmarshalJSON
メソッドでisEmpty
フラグを設定して空値を示すsync.Map
を使用して高性能な並行キャッシュを実装- 潜在的な競合状態とnullポインタ逆参照の問題を修正し、並行安全性を向上
v2.6.11 (2025-07-18)
Sleep
を構造体メソッドからグローバルメソッドに変更ペルシア暦
をリファクタリングし、ベンチマークテストファイルを追加中国旧暦
をリファクタリングし、ベンチマークテストファイルを追加ユリウス日/修正ユリウス日
をリファクタリングし、ベンチマークテストファイルを追加ヘブライ暦
サポートを追加し、ユニットテストとベンチマークテストファイルを追加- 全体のパフォーマンステストレポートファイルを追加
v2.6.10 (2025-07-07)
日本語
翻訳ファイルをjp.json
からja.json
に変更し、ドキュメントをREADME.jp.md
からREADME.ja.md
に名前変更して ISO639-1 標準に準拠- 非推奨の
ParseWithLayouts
メソッドを削除し、ParseByLayouts
メソッドに置き換え - 非推奨の
ParseWithFormats
メソッドを削除し、ParseByFormats
メソッドに置き換え - 非推奨の
CleanTestNow
メソッドを削除し、ClearTestNow
メソッドに置き換え ParseByLayout
とParseByFormat
メソッドからタイムスタンプ文字列の解析サポートを削除、タイムスタンプの解析にはCreateFromTimestamp
、CreateFromTimestampMilli
、CreateFromTimestampMicro
、CreateFromTimestampNano
メソッドを使用helper.go
のgetAbsValue
メソッドを最適化し、条件判断をビット演算に置き換えfrozen.go
ファイルの時間凍結関連メソッドを最適化し、原子操作を使用してロック競合を減らし、メモリ割り当てを最適化- ベンチマークテストファイルを最適化し、
シリアルテスト
、パラレルテスト
、コンカレントテスト
をカバー - 韓国語ドキュメント
README.ko.md
を追加 Sleep
メソッドと関連するユニットテスト
、ベンチマークテスト
、サンプルファイル
を追加MaxYear
、MinYear
、MaxMonth
、MinMonth
、MaxDay
、MinDay
などの数値定数を追加し、これらの定数でハードコードを置き換え
v2.6.9 (2025-06-28)
gorm
のGormDataType
インタフェースの実装の削除
v2.6.8 (2025-06-12)
- 解析時にレイアウトテンプレートまたはフォーマットテンプレートが空の場合は、エラーを返します
tests
でgorm.io/gorm
を1.21.1
から1.30.0
にアップグレードするtests
でgorm.io/driver/mysql
を1.5.7
から1.6.0
にアップグレードtests
でgorm.io/driver/postgres
を1.5.7
から1.6.0
にアップグレードtests
でgorm.io/driver/sqlite
を1.5.7
から1.6.0
にアップグレードtype_builtin.go
ではDateTimeType
をdateTimeType
に、DateTimeXXXXXType
をdateTimeXXXXType
に、それぞれ名前を変更しますtype_builtin.go
ではDateType
をdateType
に、DateXXXXXType
をdateXXXType
に、それぞれ名前を変更しますtype_builtin.go
ではTimeType
をtimeType
に、TimeXXXXType
をtimeXXXType
に、それぞれ名前を変更しますREADME
ファイルをシンプル化し、詳細な使用方法と使用例を[公式サイト]に移行(https://carbon.go-pkg.com)- [HelloGitHub](https://hellogithub.com/repository/dromara/carbon)バッジリンク
v2.6.7 (2025-05-26)
String
メソッドは、null値の炭素のチェックを取り除く- ファイル名を
type_interface.go
にinterfaces.go
に変更 - オプションパラメータに
Closest
/Farthest
メソッドの2番目のパラメータを変更する ZeroValue
/EpochValue
メソッドを追加DataTyper
インターフェースを追加し、DataTyper
インターフェースを実装するために内蔵型を有効にします
v2.6.6 (2025-05-19)
- 修正バグローカルファイルは
Windows
OSで見つからない - 新しい
Carbon
インスタンス #303 を作成するとlayout
,weekStartsAt
,weekendDays
およびlang
の値の失いを修正します - 修正バグ
StartOfWeek
とEndOfWeek
メソッドは元のCarbon
インスタンスを予期しないように変更します - 現在「MySQL」/「Postgres」/「SQLite」をカバーしている「xorm」のための「curd」統合テストを追加
ci
アクションでWindows
OS のユニットテストを追加
v2.6.5 (2025-05-14)
go
バージョンを1.18
から1.21
にアップグレードCarbon
構造のSetLanguage
メソッドは無効なLanguage
構造のチェックを追加しますCarbon
構造のParse
メソッドはPostgres
/SQLite
タイムフォーマット文字列のサポートを追加しますParse
/ParseByLayout
/ParseByFormat
のメソッドはempty
文字列を解析するとnil
からempty
carbon に戻り値を変更しますCarbon
構造はIsEmpty
メソッドを追加してEmpty
カーボンであるかどうかを判断しますCarbon
structCleanTestNow
を置き換えるClearTestNow
メソッドを追加します。CleanTestNow
は将来削除されます。Carbon
struct addParseByLayouts
method to replaceParseWithLayouts
,ParseWithLayouts
will be removed in the future.Carbon
struct addParseByFormats
method to replaceParseWithFormats
、ParseWithFormats
は将来削除されますCarbon
structGormDataType
メソッドを削除しValue
/MarshalJSON
メソッドをpointer
受信機からvalue
受信機に変更しますLayoutType[T]
structGormDataType
メソッドを削除しValue
/MarshalJSON
メソッドをpointer
受信機からvalue
受信機に変更しますFormatType[T]
structGormDataType
メソッドを削除しValue
/MarshalJSON
メソッドをpointer
受信機からvalue
受信機に変更しますTimestampType[T]
structGormDataType
メソッドを削除しValue
/MarshalJSON
メソッドをpointer
受信機からvalue
受信機に変更しますLanguage
構造のSetResources
メソッドは無効なリソースのチェックを追加します- 現在
MySQL
/Postgres
/SQLite
をカバーしているgorm
のcurd
統合テストを追加 - ユニットテストのために
github.com/stretchr/testify/assert
をgithub.com/stretchr/testify/suite
に置き換えます
v2.6.4 (2025-04-28)
- データベースフィールドタイプが `nil' だったときのパニックを修正
- 分割
database_types.go
にtype_carbon.go
,type_layout.go
,type_format.go
,type_timestamp.go
LayoutFactory
インターフェイスをLayoutTyper
に、SetLayout
メソッドをLayout
に変更FormatFactory
インターフェイスをFormatTyper
に、SetFormat
メソッドをFormat
に変更TimestampFactory
インターフェイスをTimestampTyper
に、SetPrecision
メソッドをPrecision
に変更- ベンチマークテストファイルに
b.ResetTimer()
を追加する Language
構造のCopy
メソッドを追加carbon.Timestamp
型エイリアスとcarbon.NewTimestamp
メソッドを追加carbon.TimestampMilli
型エイリアスとcarbon.NewTimestampMilli
メソッドを追加carbon.TimestampMicro
型エイリアスとcarbon.NewTimestampMicro
メソッドを追加carbon.TimestampNano
型エイリアスとcarbon.NewTimestampNano
メソッドを追加- 炭素を追加します。DateTime タイプアリアスと carbonNewDateTime メソッド
- 炭素を追加します。DateTimeMicro タイプアリアスと
carbon.NewDateTimeMicro
メソッド - 炭素を追加します。DateTimeMilli 型の別名と
carbon.NewDateTimeMilli
メソッド - 炭素を追加します。DateTimeNano
タイプアリアスと
炭素.NewDateTimeNano` メソッド - 炭素を追加します。日付のタイプの別名と炭素。NewDate メソッド
- 炭素を追加します。DateMilli 型の別名と
carbon.NewDateMilli
メソッド - 炭素を追加します。DateMicro タイプの別名と
carbon.NewDateMicro
メソッド - 炭素を追加します。DateNano のタイプアリアスと
carbon.NewDateNano
メソッド - 炭素を追加します。タイムタイプの別名と炭素。NewTime メソッド
- 炭素を追加します。TimeMilli
タイプの別名と
炭素。NewTimeMilli` メソッド - 炭素を追加します。タイムマイクロのタイプ別名とカーボン。NewTimeMicro メソッド
- 炭素を追加します。TimeNano
タイプ別名と
炭素。NewTimeNanoメソッド
v2.6.3 (2025-04-21)
- 異なる国で同じ結果のバグを修正
IsWeekend
とIsWeekday
メソッドを使用します。 - バグ`カーボンを修正します。解析("").StdTime() はポインターのパニックを引き起こします。 #294 エラーを「private」メソッドから「public」メソッドに変更します
- 週のデフォルトの開始日を
日曜日
から月曜日
に変更する - MinValue の年を
-9998
から1
に変更する - 定数
weeksPerLongYear
をWeeksPerLongYear
に変更する - ベンチマークテストファイル
xxx_bench_test.go
を追加 - ユニックス時代であるかどうかを報告するために
IsEpoch
メソッドを追加します(1970-01-01 00:00:00 +0000 UTC) - 週末の日を得るために
WeekEndsAt
メソッドを追加します - 週末の日を設定するために
SetWeekendDays
メソッドを追加します - 週の週末の日を格納するために
DefaultWeekStartsAt
グローバル変数を追加します
v2.6.2 (2025-04-08)
- CreateFromLunar、CreateFromPersian メソッドの
hour
、minute
、second
パラメータを削除します。 - フォーマットシンボルの定義を変更するには
U
,V
,X
,S
,T
Z
,u
,v
,x
,z
などのシンボルが含まれています - 月カレンダーの
IsLeapMonth
の不正判断のバグを修正 - 修正
AtomFormat
とAtomLayout
のバグが一致しない値を返します - 修正
RFC3339Format
とRFC3339Layout
のバグが一致しない値を返します - 時間ローカルはグローバルタイムゾーンを設定すると更新されません
- タイムゾーンオフセットを取得するためにフォーマットシンボル
o
を追加します TimestampLayout
,TimestampMilliLayout
,TimestampMicroLayout
,TimestampNanoLayout
定数を追加- 追加
TimestampFormat
,TimestampMilliFormat
,TimestampMicroFormat
およびTimestampNanoFormat
定数 DateTimeMilli
,DateTimeMicro
,DateTimeNano
フィールドタイプを追加DateMilli
、DateMicro
、DateNano
フィールドタイプを追加TimeMilli
、TimeMicro
、TimeNano
フィールドタイプを追加IsDST
メソッドのタイムゾーンバグを修正- タイムゾーンバグ
StartOfXXX
、EndOfXXX
メソッドが欠けていることを修正します - 他のカレンダーを
グレゴリアン
カレンダーに変換するときに欠けているタイムゾーンのバグを修正 - 時間デフォルトタイムゾーンを設定するときにローカルは更新されません
MaxDuration
、MinDuration
メソッドを追加
v2.6.1 (2025-03-27)
- 追加
ParseWithLayouts
とParseWithFormats
メソッド formatFactory
インターフェイスをFormatFactory
に、layoutFactory
インターフェイスをLayoutFactory
に、timestampFactory
インターフェイスをTimestampFactory
に名前変更し、タイプ制約を追加- LayoutType、FormatType、TimestampType、struct メソッドの返り値を time に変更します。
DateTime
,Date
,Time
タイプをstruct
からstring
に変更するTimestampMilli
、TimestampMicro
、TimestampNano
タイプをstruct
からint64
に変更する- 内蔵データベースフィールドタイプを新しいファイル
types.go
に移動します - 修正された
updated_at
フィールドはgorm
がデータを更新すると自動的に更新され、無効です
v2.6.0 (2025-03-25)
golang
最低バージョン依存性を1.18
にアップグレードしましたcarbon
,julian
,lunar
,persian
は値のパスからポインターのパスに変更された- タイムゾーン名を取得するために
ZoneName
メソッドを追加します - エラーがあるかどうかを確認するために
HasError
メソッドを追加します - それが
nil
であるかどうかを確認するためにIsNil
メソッドを追加します - 深いコピー
炭素
にコピー
メソッドを追加 - 週の開始日を得るために
WeekStartsAt
メソッドを追加します - 例ファイル
xxx_example.go
を追加する - 新しい
constant.go
ファイルを追加し、carbon.go
ファイルから定数をこのファイルに移行 - デフォルトのグローバルタイムゾーンを
Local
からUTC
に変更する - オフセットメソッドをZoneOffsetメソッドに変更
- IsSetTestNow メソッドをIsTestNow メソッドに変更
- UnSetTestNow メソッドをCleanTestNow メソッドに変更
Location
メソッドを削除し、Timezone
メソッドに置き換えますIsValid
とIsInvalid
メソッドの判断論理を変更し、ゼロタイム
はもはや無効タイムとみなされません- 更新
時間。ローカル
グローバルデフォルトタイムゾーンを設定するとき - リファクター
database.go
および削除炭素。日付時間、炭素。DateTimeMilli、カーボン。DateTimeMicro、カーボン。DateTimeNanoは、カーボンです。日付、炭素。DateMilli、カーボン。デートマイクロ、カーボン。デートナノ、カーボン。時間、炭素。TimeMilli、カーボン。タイムマイクロ、カーボン。タイムナノ、カーボン。タイムスタンプ、カーボン。タイムスタンプミリ、カーボン。タイムスタンプマイクロ、カーボン。TimestampNano
フィールドタイプは、MarshalJSON/UnmarshalJSON
でカスタム出力フォーマットを実装するために代わりに一般的なフィールドを使用します
旧バージョンの更新ログについては releases を参照してください