1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/golang-module-carbon

Имя тега
Описание
Сообщение коммита
Операция
## Обновлено - Удалена проверка на пустое значение в методе `String` - Переименован файл `type_interface.go` в `interfaces.go` - Второй параметр методов `Closest`/`Farthest` сделан необязательным - Добавлены методы `ZeroValue`/`EpochValue` - Добавлен интерфейс `DataTyper` и метод `DataType`, а также реализация этого интерфейса для встроенных типов **Полный список изменений**: https://gitee.com/dromara/carbon/compare/v2.6.6...v2.6.7
11.06.2025 18:40
- Исправлен баг с невозможностью найти файлы языка на платформе `window` - Исправлен баг с потерей значений `layout`, `weekStartsAt`, `weekendDays` и `lang` при создании нового экземпляра `Carbon` (#303) - Исправлен баг с непреднамеренным изменением исходного экземпляра `Carbon` методами `StartOfWeek` и `EndOfWeek` (#304) - Добавлены интеграционные тесты для `curd` с `xorm`, охватывающие `MySQL`, `Postgres` и `SQLite` - Добавлены юнит-тесты для системы `window` в процессе `ci`
19.05.2025 06:42
- Увеличьте минимальную версию Go с `1.18` до `1.21` - Добавьте проверку на неправильную структуру `Language` в методе `SetLanguage` структуры `Carbon` - Добавьте поддержку парсинга строк формата времени MySQL/Postgres/SQLite в методе `Parse` структуры `Carbon` - Измените возвращаемое значение методов `Parse`, `ParseByLayout` и `ParseByFormat` структуры `Carbon` на пустой объект `carbon` при парсинге пустой строки вместо `nil` - Добавьте метод `IsEmpty` в структуру `Carbon` для проверки, является ли объект пустым `carbon` - Добавьте метод `ClearTestNow` в структуру `Carbon` для замены метода `CleanTestNow`, метод `CleanTestNow` будет удален в будущем - Добавьте метод `ParseByLayouts` в структуру `Carbon` для замены метода `ParseWithLayouts`, метод `ParseWithLayouts` будет удален в будущем - Добавьте метод `ParseByFormats` в структуру `Carbon` для замены метода `ParseWithLayouts`, метод `ParseWithFormats` будет удален в будущем - Удалите метод `GormDataType` из структуры `Carbon` и измените методы `Value` и `MarshalJSON` на значения вместо указателей - Удалите метод `GormDataType` из структуры `LayoutType[T]` и измените методы `Value` и `MarshalJSON` на значения вместо указателей - Удалите метод `GormDataType` из структуры `FormatType[T]` и измените методы `Value` и `MarshalJSON` на значения вместо указателей - Удалите метод `GormDataType` из структуры `TimestampType[T]` и измените методы `Value` и `MarshalJSON` на значения вместо указателей - Добавьте проверку на неправильные ресурсы в методе `SetResources` структуры `Language` - Добавьте интеграционные тесты для `gorm` CRUD, которые охватывают MySQL/Postgres/SQLite- Замените `github. com/stretchr/testify/suite` на `github. com/stretchr/testify/assert` для юнит-тестов
14.05.2025 12:16
##### Русский - Исправлен панический сбой при типе поля базы данных равном `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()` в файлы бенчмарков - Добавление метода `Copy` для структуры `Language` - Добавление типа `carbon.Timestamp` и метода `carbon.NewTimestamp` - Добавление типа `carbon.TimestampMilli` и метода `carbon.NewTimestampMilli` - Добавление типа `carbon.TimestampMicro` и метода `carbon.NewTimestampMicro` - Добавление типа `carbon.TimestampNano` и метода `carbon.NewTimestampNano` - Добавление типа `carbon.DateTime` и метода `carbon.NewDateTime` - Добавление типа `carbon.DateTimeMicro` и метода `carbon.NewDateTimeMicro` - Добавление типа `carbon.DateTimeMilli` и метода `carbon.NewDateTimeMilli` - Добавление типа `carbon.DateTimeNano` и метода `carbon.NewDateTimeNano` - Добавление типа `carbon.Date` и метода `carbon.NewDate` - Добавление типа `carbon.DateMilli` и метода `carbon.NewDateMilli` - Добавление типа `carbon.DateMicro` и метода `carbon.NewDateMicro` - Добавление типа `carbon.DateNano` и метода `carbon.NewDateNano` - Добавление типа `carbon.Time` и метода `carbon.NewTime` - Добавление типа `carbon.TimeMilli` и метода `carbon.NewTimeMilli` - Добавление типа `carbon.TimeMicro` и метода `carbon.NewTimeMicro` - Добавление типа `carbon.TimeNano` и метода `carbon.NewTimeNano` - Типовой псевдоним `TimestampMilli` и метод `carbon.NewTimestampMilli`- Добавлен типовой псевдоним `TimestampMicro` и метод `carbon.NewTimestampMicro` - Добавлен типовой псевдоним `TimestampNano` и метод `carbon.NewTimestampNano` - Добавлен типовой псевдоним `DateTime` и метод `carbon.NewDateTime` - Добавлен типовой псевдоним `DateTimeMicro` и метод `carbon.NewDateTimeMicro` - Добавлен типовой псевдоним `DateTimeMilli` и метод `carbon.NewDateTimeMilli` - Добавлен типовой псевдоним `DateTimeNano` и метод `carbon.NewDateTimeNano` - Добавлен типовой псевдоним `Date` и метод `carbon.NewDate` - Добавлен типовой псевдоним `DateMilli` и метод `carbon.NewDateMilli` - Добавлен типовой псевдоним `DateMicro` и метод `carbon.NewDateMicro` - Добавлен типовой псевдоним `DateNano` и метод `carbon.NewDateNano` - Добавлен типовой псевдоним `Time` и метод `carbon.NewTime` - Добавлен типовой псевдоним `TimeMilli` и метод `carbon.NewTimeMilli` - Добавлен типовой псевдоним `TimeMicro` и метод `carbon.NewTimeMicro` - Добавлен типовой псевдоним `TimeNano` и метод `carbon.NewTimeNano`
28.04.2025 05:50
##### Русский - Исправление ошибки с одинаковыми результатами в разных странах при использовании методов `IsWeekend` и `IsWeekday`. - Исправление ошибки `carbon.Parse("").StdTime()` вызывало панику из-за nil-указателя. #294 - Изменение ошибок из `частного` метода на `публичный` метод. - Изменение стандартной даты начала недели с `воскресенья` на `понедельник`. - Изменение года в `MinValue` с `-9998` на `1`. - Переименование константы `weeksPerLongYear` в `WeeksPerLongYear`. - Добавление файлов для бенчмарков `xxx_bench_test.go`. - Добавление метода `IsEpoch` для проверки, является ли время UNIX-эпохой (1970-01-01 00:00:00 +0000 UTC). - Добавление метода `WeekEndsAt` для получения последнего дня недели. - Добавление метода `SetWeekendDays` для установки выходных дней недели. - Добавление глобальной переменной `DefaultWeekStartsAt` для хранения стандартных выходных дней недели.
21.04.2025 04:33
##### Китайский - Удаление параметров `hour`, `minute`, `second` в методах `CreateFromLunar`, `CreateFromPersian` - Изменение определений некоторых форматных символов, включая символы `U`, `V`, `X`, `S`, `T`, `Z`, `u`, `v`, `x`, `z` - Исправление ошибки в неверном определении `IsLeapMonth` в лунном календаре - Исправление ошибки в непоследовательных возвращаемых значениях методов `AtomFormat` и `AtomLayout` - Исправление ошибки в непоследовательных возвращаемых значениях методов `RFC3339Format` и `RFC3339Layout` - `time.Local` не обновляется при установке глобальной временной зоны - Добавление форматного символа `o` для получения смещения временной зоны - Добавление констант `TimestampLayout`, `TimestampMilliLayout`, `TimestampMicroLayout` и `TimestampNanoLayout` - Добавление констант `TimestampFormat`, `TimestampMilliFormat`, `TimestampMicroFormat` и `TimestampNanoFormat` - Добавление типов полей `DateTimeMilli`, `DateTimeMicro`, `DateTimeNano` - Добавление типов полей `DateMilli`, `DateMicro`, `DateNano` - Добавление типов полей `TimeMilli`, `TimeMicro`, `TimeNano`##### Русский - Удаление параметров `hour`, `Minute`, `second` из методов `CreateFromLunar`, `CreateFromPersian` - Изменение определений некоторых форматных символов, включая символы `U`, `V`, `X`, `S`, `T`, `Z`, `u`, `v`, `x`, `z` - Исправление ошибки в неверном определении `IsLeapMonth` в лунном календаре - Исправление ошибки в непоследовательных возвращаемых значениях методов `AtomFormat` и `AtomLayout` - Исправление ошибки в непоследовательных возвращаемых значениях методов `RFC3339Format` и `RFC3339Layout` - `time.Local` не обновляется при установке глобальной временной зоны - Добавление форматного символа `o` для получения смещения временной зоны - Добавление констант `TimestampLayout`, `TimestampMilliLayout`, `TimestampMicroLayout` и `TimestampNanoLayout` - Добавление констант `TimestampFormat`, `TimestampMilliFormat`, `TimestampMicroFormat` и `TimestampNanoFormat` - Добавление типов полей `DateTimeMilli`, `DateTimeMicro`, `DateTimeNano` - Добавление типов полей `DateMilli`, `DateMicro`, `DateNano` - Добавление типов полей `TimeMilli`, `TimeMicro`, `TimeNano`
31.03.2025 06:50
##### Русский - Удалить параметры `hour`, `minute`, `second` в методах `CreateFromLunar`, `CreateFromPersian` - Изменить определения некоторых символов формата, включая символы `U`, `V`, `X`, `S`, `T`, `Z`, `u`, `v`, `x`, `z` - Исправить ошибку в методе `IsLeapMonth` для лунного календаря - Исправить ошибку в методах `AtomFormat` и `AtomLayout`, возвращающих несогласованные значения - Исправить ошибку в методах `RFC3339Format` и `RFC3339Layout`, возвращающих несогласованные значения - При установке глобального часового пояса `time.Local` не обновляется - Добавить символ формата `o` для получения смещения часового пояса - Добавить константы `TimestampLayout`, `TimestampMilliLayout`, `TimestampMicroLayout`, `TimestampNanoLayout` - Добавить константы `TimestampFormat`, `TimestampMilliFormat`, `TimestampMicroFormat`, `TimestampNanoFormat` - Добавить типы полей `DateTimeMilli`, `DateTimeMicro`, `DateTimeNano` - Добавить типы полей `DateMilli`, `DateMicro`, `DateNano` - Добавить типы полей `TimeMilli`, `TimeMicro`, `TimeNano` - Исправить ошибку в методе `IsDST`, связанную с отсутствием часового пояса - Исправить ошибку в методах `StartOfXXX`, `EndOfXXX`, связанную с отсутствием часового пояса - Исправить ошибку при конвертации других календарей в календарь `Gregorian`, связанную с отсутствием часового пояса - При установке часового пояса по умолчанию `time.Local` не обновляется - Добавить методы `MaxDuration`, `MinDuration`
08.04.2025 05:57
- Добавлены методы `ParseWithLayouts` и `ParseWithFormats` - Переименован интерфейс `formatFactory` в `FormatFactory` и добавлены типовые ограничения - Возвращаемое значение метода `GormDataType` для структур `LayoutType`, `FormatType`, `TimestampType` изменено на `time` - Типы `DateTime`, `Date`, `Time` изменены с `struct` на `string` - Типы `Timestamp`, `TimestampMilli`, `TimestampMicro`, `TimestampNano` изменены с `struct` на `int64` - Внутренние типы полей базы данных перемещены в новый файл `types.go` - Исправлен баг, при котором поле `updated_at` не обновлялось автоматически при обновлении данных в `gorm`
27.03.2025 08:45
- `golang` минимальная версия зависимости обновлена до `1.18` - `carbon`, `julian`, `lunar`, `persian` передача значений изменена на передачу указателей - Добавлен метод `ZoneName` для получения имени временной зоны - Добавлен метод `HasError` для проверки наличия ошибок - Добавлен метод `IsNil` для проверки, является ли значение `nil` - Добавлен метод `Copy` для глубокого копирования `carbon` - Добавлен метод `WeekStartsAt` для получения даты начала недели - Добавлен пример файла `xxx_example.go` - Добавлен файл `constant.go`, в котором константы перемещены из файла `carbon.go` - Установлена глобальная временная зона по умолчанию `UTC` вместо `Local` - Метод `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`
25.03.2025 03:05
**Полный журнал обновлений**: https://gitee.com/dromara/carbon/commits/v2.5.4
05.03.2025 09:19
- Исправлен баг с невозможностью распарсить поля `Time`, `TimeMilli`, `TimeMicro`, `TimeNano` методом `UnmarshalJSON`. - Удалены废弃的方法 `ToStdTime`. - Григорианский календарь получил новые методы `MaxValue`, `MinValue`, `IsValid`. - Китайский лунно-солярный календарь получил новые методы `MaxValue`, `MinValue`, `IsValid`. - Персидский календарь (иранский) получил новые методы `MaxValue`, `MinValue`, `ToShortMonthString`, `ToShortWeekString`. - В методах PersianCalendar `ToMonthString`, `ToWeekString` добавлен новый необязательный параметр `locale` со значениями `en`/`fa`. - Добавлена проверка корректности дат в китайском лунно-солярном календаре и персидском календаре (иранском).
03.12.2024 05:19
- Add parsing support for `2006-01-02 15:04:05-0700 MST` format in `Parse` method - Change the judgment logic of `IsValid` and `IsInvalid` methods - Implement `Abs` method by itself in `DiffAbsInDuration` method #226 - Return zero time instead of being empty where the value is zero time in `Parse` method #232 - Unified unit test format
10.04.2024 05:49
## What's Changed * Change repository url from `github.com/golang-module/carbon` to `github.com/dromara/carbon` * Add `hungarian` translation #39 by @kenlas in https://github.com/dromara/carbon/pull/252 * Add support for `string` and `[]byte` types when parsing database data in `Scan` method #251 * Retranslate `README.jp` by @You-saku in https://github.com/dromara/carbon/pull/259 * Fix `DiffInMonths()` method bug #255 * Fix `Japanese` translation by @nkmr-jp in https://github.com/dromara/carbon/pull/254 * Replace `Lock()` with `RLock()`,`Unlock()` with `RUnlock()` to optimize performance by @ritbrz in https://github.com/dromara/carbon/pull/253 * Replace `ToDateTimeStruct()` with `NewDateTime()`,`ToDateTimeMilliStruct()` with `NewDateTimeMilli()`,`ToDateTimeMicroStruct()` with `NewDateTimeMicroStruct()`,`ToDateTimeMilliNanoStruct()` with `NewDateTimeNano()` * Replace `ToDateStruct()` with `NewDate()`,`ToDateMilliStruct()` with `NewDateMilli()`,`ToDateMicroStruct()` with `NewDateMicro()`,`ToDateNanoStruct()` with `NewDateNano()` * Replace `ToTimeStruct()` with `NewTime()`,`ToTimeMilliStruct()` with `NewTimeMilli()`,`ToTimeMicroStruct()` with `NewTimeMicro()`,`ToTimeNano()Struct` with `NewTimeNano()` * `DateTime`, `DateTimeXXX`,`Date`,`DateXXX`, `Time`,`TimeXXX` structures implement `Scan`,`Value`,`MarshalJSON`,`UnmarshalJSON` interfaces * Bump `codecov/codecov-action` from 4 to 5 by @dependabot in https://github.com/dromara/carbon/pull/256 * Unified use of global default timezone `defaultTimezone` when `UnmarshalJSON` ## New Contributors * @kenlas made their first contribution in https://github.com/dromara/carbon/pull/252 * @nkmr-jp made their first contribution in https://github.com/dromara/carbon/pull/254 * @You-saku made their first contribution in https://github.com/dromara/carbon/pull/259 **Full Changelog**: https://github.com/dromara/carbon/compare/v2.4.1...v2.5.0
25.11.2024 12:54
v2.0.0
07.09.2021 17:15
v2.1.0
12.04.2022 20:44
v2.1.1
14.04.2022 18:11
1
https://api.gitlife.ru/oschina-mirror/golang-module-carbon.git
git@api.gitlife.ru:oschina-mirror/golang-module-carbon.git
oschina-mirror
golang-module-carbon
golang-module-carbon