Skip to content

Releases: digital-craftsman-de/date-time-precision

Cleanup, clock, more guards and PHP 8.4 support

02 Feb 09:46
dbe6965
Compare
Choose a tag to compare
  • Breaking change: Removed deprecated isDate* methods from Moment.
  • Breaking change: Dropped custom normalizers in favor of digital-craftsman/self-aware-normalizers.
  • Breaking change Dropped support for PHP 8.2.
  • Added Clock implementation with SystemClock and FrozenClock.
  • Added guard methods for comparison methods to Moment, Date and Time like mustBeEqualTo with option to throw custom exception.
  • Changed normalization of Moment to include microseconds.
  • Added support for PHP 8.4.

Streamlined comparisons

27 Mar 09:49
653a356
Compare
Choose a tag to compare
  • Added is*InTimeZone(Time | Date | Month | Year $equalTo, \DateTimeZone $timeZone): bool methods to Moment.
  • Added missing methods to precision classes.
  • Deprecated isDate*InTimeZone methods from Moment.

Dropped support for Symfony 6.3, added support for Symfony 7

10 Mar 19:21
ebc7da7
Compare
Choose a tag to compare
  • Breaking change: Dropped support for Symfony 6.3.
  • Added support for Symfony 7.
  • Fixed naming in functions of Moment class. Parameter was called $dateTime, but should have been $moment.

Added missing return type

03 Oct 13:14
3032deb
Compare
Choose a tag to compare
  • Added missing return type in DateTimePrecisionExtension.

DateTime is now Moment with more precision, PHP 8.3 support

28 Sep 07:30
16a75f9
Compare
Choose a tag to compare
  • Breaking change: Dropped support for PHP 8.1.
  • Breaking change: Dropped support for Symfony below 6.3.
  • Breaking change: Instances of DateTime are now always created in the UTC timezone (independent on the configured default timezone in PHP).
  • Breaking change: Renamed package to digital-craftsman/date-time-precision.
  • Breaking change: Renamed DateTime to Moment including normalizer and Doctrine type.
  • Breaking change: Updated Doctrine moment type to support milliseconds.
  • Added support for PHP 8.3.
  • Added support for the new normalizer caching mechanism of Symfony 6.3.
  • Switched classes to be readonly (instead of just the properties).
  • Automatically register the Doctrine types.
  • Removed custom code in Date and Month and used PHP SPL to handle date comparisons.
  • Added DateTime->isNotAfter
  • Added DateTime->isNotAfterOrEqualTo.
  • Added DateTime->isNotBeforeOrEqualTo.
  • Added DateTime->isNotBefore.
  • Added DateTime->isDateNotAfterInTimeZone.
  • Added DateTime->isDateNotAfterOrEqualToInTimeZone.
  • Added DateTime->isDateNotBeforeInTimeZone.
  • Added DateTime->isDateNotBeforeOrEqualToInTimeZone.
  • Added Date->isNotAfter.
  • Added Date->isNotBefore.
  • Added Date->isNotBeforeOrEqualTo.
  • Added Date->isNotAfterOrEqualTo.
  • Added Month->isNotBefore.
  • Added Month->isNotBeforeOrEqualTo.
  • Added Month->isNotAfter.
  • Added Month->isNotAfterOrEqualTo.
  • Added Year->isNotBefore.
  • Added Year->isNotAfterOrEqualTo.
  • Added Year->isNotAfter.
  • Added Year->isNotBeforeOrEqualTo.

Added Date->datesUntil, Year->yearsUntil and Year-modify

19 Jul 13:02
5124ee0
Compare
Choose a tag to compare
  • Added Date->datesUntil(Date $date, PeriodLimit $periodLimit = PeriodLimit::INCLUDING_START_AND_END): array.
  • Added Year->yearsUntil(Year $year, PeriodLimit $periodLimit = PeriodLimit::INCLUDING_START_AND_END): array.
  • Added Year->modify(string $modifier): Year.

Added missing requiresSQLCommentHint functions to Doctrine types

10 May 09:44
82104d1
Compare
Choose a tag to compare
  • Added missing DateTimeType->requiresSQLCommentHint(): bool.
  • Added missing DateType->requiresSQLCommentHint(): bool.
  • Added missing TimeType->requiresSQLCommentHint(): bool.

Added compareTo functions

09 May 16:08
edbc32e
Compare
Choose a tag to compare
  • Added Year->compareTo(self $year): int.
  • Added Month->compareTo(self $month): int.
  • Added Date->compareTo(self $date): int.
  • Updated Time->compareTo(self $time): int to use less custom code.

Added new utility methods and added Year normalizer to registered normalizers

21 Apr 15:23
2661dfa
Compare
Choose a tag to compare
  • Added DateTime->isDateNotEqualToInTimeZone(DateTime $dateTime, \DateTimeZone $timeZone): bool.
  • Added Date->toDateTimeInTimeZone(\DateTimeZone $timeZone): self.
  • Added Date->modifyInTimeZone(string $modify, \DateTimeZone $timeZone): self.
  • Added Month->toDateTimeInTimeZone(\DateTimeZone $timeZone): self.
  • Added Month->modifyInTimeZone(string $modify, \DateTimeZone $timeZone): self.
  • Added Year->toDateTimeInTimeZone(\DateTimeZone $timeZone): self.
  • Added Year->modifyInTimeZone(string $modify, \DateTimeZone $timeZone): self.
  • Added YearNormalizer to automatic registered normalizers.

Add DateTime->isDate*InTimeZone

19 Oct 07:34
cf505f3
Compare
Choose a tag to compare
  • Added isDateAfterInTimeZone(DateTime $dateTime, \DateTimeZone $timeZone): bool in DateTime.
  • Added isDateAfterOrEqualToInTimeZone(DateTime $dateTime, \DateTimeZone $timeZone): bool in DateTime.
  • Added isDateEqualToInTimeZone(DateTime $dateTime, \DateTimeZone $timeZone): bool in DateTime.
  • Added isDateBeforeInTimeZone(DateTime $dateTime, \DateTimeZone $timeZone): bool in DateTime.
  • Added isDateBeforeOrEqualToInTimeZone(DateTime $dateTime, \DateTimeZone $timeZone): bool in DateTime.