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

OSCHINA-MIRROR/golang-module-carbon

20.06.2025 21:39
GitLife Service Account

Обновлено

  • Удалена проверка на пустое значение в методе String
  • Переименован файл type_interface.go в interfaces.go
  • Второй параметр методов Closest/Farthest сделан необязательным
  • Добавлены методы ZeroValue/EpochValue
  • Добавлен интерфейс DataTyper и метод DataType, а также реализация этого интерфейса для встроенных типов

Полный список изменений: https://gitee.com/dromara/carbon/compare/v2.6.6...v2.6.7

Последнее сообщение коммита: v2.6.7
23.05.2025 19:11
GitLife Service Account
  • Исправлен баг с невозможностью найти файлы языка на платформе window
  • Исправлен баг с потерей значений layout, weekStartsAt, weekendDays и lang при создании нового экземпляра Carbon (#303)
  • Исправлен баг с непреднамеренным изменением исходного экземпляра Carbon методами StartOfWeek и EndOfWeek (#304)
  • Добавлены интеграционные тесты для curd с xorm, охватывающие MySQL, Postgres и SQLite
  • Добавлены юнит-тесты для системы window в ci
Последнее сообщение коммита: v2.6.6
23.05.2025 19:10
GitLife Service Account
  • Увеличьте минимальную версию 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 для юнит-тестов
Последнее сообщение коммита: refactor: 优化 TimestampType.String() 方法
23.05.2025 19:09
GitLife Service Account
Русский
  • Исправлен панический сбой при типе поля базы данных равном 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
Последнее сообщение коммита: v2.6.4
22.04.2025 03:44
GitLife Service Account
Русский
  • Исправление ошибки с одинаковыми результатами в разных странах при использовании методов 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 для хранения стандартных выходных дней недели.
Последнее сообщение коммита: v2.6.3
22.04.2025 03:43
GitLife Service Account
Русский
  • Удалить параметры 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
Последнее сообщение коммита: test: 完善时间相关测试用例
22.04.2025 03:43
GitLife Service Account
Китайский
  • Удаление параметров 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
Последнее сообщение коммита: docs: 更新 README 文档
22.04.2025 03:42
GitLife Service Account
  • Добавлены методы 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
Последнее сообщение коммита: feat(types): 新增时间相关类型和接口实现
22.04.2025 03:42
GitLife Service Account
  • 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
Последнее сообщение коммита: fix: 优化 SetLanguage 方法的错误处理逻辑
22.04.2025 03:41
GitLife Service Account
  • Добавить норвежский перевод
  • Перенести константы из файла carbon.go в файл constant.go
  • Добавить в метод NewCarbon опциональный параметр типа time.Time
  • При парсинге строк времени сохранять соответствующий layout и добавить метод CurrentLayout для возврата соответствующего layout
  • Исправить ошибку, при которой пустая строка в базе данных не может быть корректно распарсена как валидное время
  • Унифицировать тип получателя метода Value в файле database.go

Полный журнал обновлений: https://gitee.com/dromara/carbon/commits/v2.5.4

Последнее сообщение коммита: test:优化单元测试中的断言表达式
04.03.2025 12:05
GitLife Service Account
  • Исправлен баг с невозможностью распарсить поля Time, TimeMilli, TimeMicro, TimeNano методом UnmarshalJSON.
  • Удалены废弃的方法 ToStdTime.
  • Григорианский календарь получил новые методы MaxValue, MinValue, IsValid.
  • Китайский лунно-солярный календарь получил новые методы MaxValue, MinValue, IsValid.
  • Персидский календарь (иранский) получил новые методы MaxValue, MinValue, ToShortMonthString, ToShortWeekString.
  • В методах PersianCalendar ToMonthString, ToWeekString добавлен новый необязательный параметр locale со значениями en/fa.
  • Добавлена проверка корректности дат в китайском лунно-солярном календаре и персидском календаре (иранском).
Последнее сообщение коммита: calendar -> gregorian
04.03.2025 12:05
GitLife Service Account
  • Добавлены методы MaxValue и MinValue
  • Добавлены примеры проектов
  • Улучшена логика проверки в методе IsValid, используя методы MinValue и MaxValue
  • В структурах Time, TimeMilli, TimeMicro и TimeNano при выполнении метода UnmarshalJSON установлена текущая дата по умолчанию
  • Исправлены ошибки в японском переводе
  • Обновлен пакет github.com/stretchr/testify с версии 1.9.0 до 1.10.0

Полный список изменений: https://gitee.com/dromara/carbon/commits/v2.5.1

Последнее сообщение коммита: github.com/stretchr/testify 从 v1.8.4 升级到 v1.10.0
04.03.2025 12:05
GitLife Service Account
  • Адрес репозитория изменён с github.com/golang-module/carbon на github.com/dromara/carbon
  • Добавлена поддержка перевода на венгерский, выполнено @kenlas
  • Переведён файл README на японский, выполнен @You-saku
  • Устранена ошибка в вычислении метода DiffInMonths()
  • Методы Lock() и Unlock() заменены на RLock() и RUnlock()
  • Удалены методы ToDateTimeStruct(), ToDateTimeMilliStruct(), ToDateTimeMicroStruct(), ToDateStruct(). Вместо них используются новые методы NewDateTime(), NewDateTimeMilli(), NewDateTimeMicro(), NewDate().
  • Структуры данных DateTime, DateTimeXXX, Date, DateXXX, Time, TimeXXX реализуют интерфейсы Scan, Value, MarshalJSON, UnmarshalJSON
  • Реализация интерфейса Scan поддерживает парсинг строковых значений, массивов байтов и значений типа Time.time
  • При парсинге строки времени в JSON с помощью интерфейса UnmarshalJSON используется глобальная конфигурация временной зоны defaultTimeZone
  • Версия codecov/codecov-action обновлена с v4 до v5
Последнее сообщение коммита: gitee.com/golang-module/carbon -> gitee.com/dromara/carbon
04.03.2025 12:05
GitLife Service Account
  • Улучшение обработки нулевых значений метода StdTime
  • Временная ошибка при декодировании json.Unmarshal, когда значение JSON равно пустому или null
  • Перемещение методов интерфейсов серии GormDataType из файла encoding.go в файл database.go
Последнее сообщение коммита: v2.4.1
04.03.2025 12:05
GitLife Service Account
  • Обновлен минимально допустимый версионный номер Go до 1.17
  • Добавлена поддержка перевода на арабский язык
  • Устранено недопустимое преобразование между григорианским и лунарным календарями
  • Устранены ошибки в переводе с персидского языка
  • Оптимизирована обработка методами ParseByLayout и getLocationByTimezone, когда входной параметр времени пуст
  • Улучшена обработка значений типа null или отсутствие значений при выполнении операции json.UnmarshalJSON для json строки
  • Удалён структурный тип данных Tag и связанные с ним методы
Последнее сообщение коммита: Update content about json
04.03.2025 12:05
GitLife Service Account
  • Добавлена поддержка парсинга строки формата 2006-01-02 15:04:05-0700 MST методом Parse.
  • При парсинге нулевой даты и времени 0001-01-01 00:00:00 методом Parse, возвращается исходное значение вместо пустого.
  • Оптимизирована логика проверки методами IsValid и IsInvalid.
  • В методе DiffAbsInDuration реализован самостоятельный метод Abs, что позволяет избежать необходимости обновления go до версии 1.9+.
  • Унифицирован формат единой тестовой проверки.
Последнее сообщение коммита: 统一单元测试格式
04.03.2025 12:05
GitLife Service Account

Обновлено

  • Обновлены комментарии
  • Добавлены методы GoString, ToIso8601ZuluString, ToIso8601ZuluMilliString, ToIso8601ZuluMicroString
  • Добавлена поддержка декодирования JSON-строк с null значениями
  • Исправлены тестовые случаи ошибок
  • Добавлены константы
  • Исправлены ошибки в описании документации
  • Изменены комментарии метода ToStdTime

Полный список обновлений: https://gitee.com/golang-module/carbon/compare/v2.3.9...v2.3.10

Последнее сообщение коммита: 更新注释信息
04.03.2025 12:04
GitLife Service Account
  • Добавлены методы DiffInDuration, DiffAbsInDuration
  • Добавлены комментарии в подпакет calendar/persian
  • Упрощена реализация в файлах calendar.go, constellation.go
  • Предоставлены тесты для проверки покрытия unit-тестами и тестами производительности
Последнее сообщение коммита: 新增 DiffInDurationDiffAbsInDuration 方法
04.03.2025 12:04
GitLife Service Account
  • Исправлено вычисление ошибок для юлианского, укороченного юлианского
  • Добавлена поддержка польского языка
  • Добавлена поддержка персидского календаря
  • Добавлен метод StdTime как альтернатива для ToStdTime. Метод ToStdTime будет в будущем отключен
  • Добавлен константный объект W3cLayout
  • Улучшено покрытие юнит-тестами и тестами производительности
Последнее сообщение коммита: 删除空行
04.03.2025 12:04
GitLife Service Account
  • Добавлена поддержка julian day и reduced julian day, предоставлены методы для взаимного преобразования между григорианским календарём, julian day и reduced julian day
  • Устранена ошибка целочисленного переполнения в системе window386
  • Удалены методы лунного календаря DoubleHour, IsXXXDoubleHour и т.д.
  • Предоставлены единичные тесты и тесты производительности с охватом覆盖率

Корректировка:

  • Добавлена поддержка julian day и reduced julian day, предоставлены методы для взаимного преобразования между григорианским календарём, julian day и reduced julian day
  • Устранена ошибка целочисленного переполнения в системе window386
  • Удалены методы лунного календаря DoubleHour, IsXXXDoubleHour и т.д.
  • Предоставлены единичные тесты и тесты производительности с охватом覆盖率

Финальный текст:

  • Добавлена поддержка julian day и reduced julian day, предоставлены методы для взаимного преобразования между григорианским календарём, julian day и reduced julian day
  • Устранена ошибка целочисленного переполнения в системе window386
  • Удалены методы лунного календаря DoubleHour, IsXXXDoubleHour и т.д.
  • Предоставлены единичные тесты и тесты производительности с охватом覆盖率
Последнее сообщение коммита: 添加注释,新增 IsLeapYear 方法
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