Carbon.php 898 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace Illuminate\Support;
  3. use Carbon\Carbon as BaseCarbon;
  4. use Carbon\CarbonImmutable as BaseCarbonImmutable;
  5. use Illuminate\Support\Traits\Conditionable;
  6. use Illuminate\Support\Traits\Dumpable;
  7. use Ramsey\Uuid\Uuid;
  8. use Symfony\Component\Uid\Ulid;
  9. class Carbon extends BaseCarbon
  10. {
  11. use Conditionable, Dumpable;
  12. /**
  13. * {@inheritdoc}
  14. */
  15. public static function setTestNow(mixed $testNow = null): void
  16. {
  17. BaseCarbon::setTestNow($testNow);
  18. BaseCarbonImmutable::setTestNow($testNow);
  19. }
  20. /**
  21. * Create a Carbon instance from a given ordered UUID or ULID.
  22. */
  23. public static function createFromId(Uuid|Ulid|string $id): static
  24. {
  25. if (is_string($id)) {
  26. $id = Ulid::isValid($id) ? Ulid::fromString($id) : Uuid::fromString($id);
  27. }
  28. return static::createFromInterface($id->getDateTime());
  29. }
  30. }