37 lines
898 B
PHP
37 lines
898 B
PHP
|
<?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());
|
||
|
}
|
||
|
}
|