| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace Illuminate\Support;
- use Carbon\Carbon as BaseCarbon;
- use Carbon\CarbonImmutable as BaseCarbonImmutable;
- use Illuminate\Support\Traits\Conditionable;
- use Illuminate\Support\Traits\Dumpable;
- use Ramsey\Uuid\Uuid;
- use Symfony\Component\Uid\Ulid;
- class Carbon extends BaseCarbon
- {
- use Conditionable, Dumpable;
- /**
- * {@inheritdoc}
- */
- public static function setTestNow(mixed $testNow = null): void
- {
- BaseCarbon::setTestNow($testNow);
- BaseCarbonImmutable::setTestNow($testNow);
- }
- /**
- * Create a Carbon instance from a given ordered UUID or ULID.
- */
- public static function createFromId(Uuid|Ulid|string $id): static
- {
- if (is_string($id)) {
- $id = Ulid::isValid($id) ? Ulid::fromString($id) : Uuid::fromString($id);
- }
- return static::createFromInterface($id->getDateTime());
- }
- /**
- * Get the current date / time plus a given amount of time.
- */
- public function plus(
- int $years = 0,
- int $months = 0,
- int $weeks = 0,
- int $days = 0,
- int $hours = 0,
- int $minutes = 0,
- int $seconds = 0,
- int $microseconds = 0
- ): static {
- return $this->add("
- $years years $months months $weeks weeks $days days
- $hours hours $minutes minutes $seconds seconds $microseconds microseconds
- ");
- }
- /**
- * Get the current date / time minus a given amount of time.
- */
- public function minus(
- int $years = 0,
- int $months = 0,
- int $weeks = 0,
- int $days = 0,
- int $hours = 0,
- int $minutes = 0,
- int $seconds = 0,
- int $microseconds = 0
- ): static {
- return $this->sub("
- $years years $months months $weeks weeks $days days
- $hours hours $minutes minutes $seconds seconds $microseconds microseconds
- ");
- }
- }
|