此包已被弃用且不再维护。作者建议使用 getwarp/clock 包。

增强的 DateTime 类和 Clock API 实现

3.0.x-dev 2022-04-03 12:49 UTC

This package is auto-updated.

Last update: 2022-06-12 16:26:03 UTC


README

Latest Version on Packagist Software License Total Downloads Code Coverage

此组件在 PHP 中提供了增强的 DateTime 类和 Clock API 实现。

安装

通过 Composer

$ composer require spaceonfire/clock

使用

DateTime

use spaceonfire\Clock\DateTimeImmutableValue;

$time = DateTimeImmutableValue::now();
// $time = DateTimeImmutableValue::from('2020-02-02 20:22:02');
// $time = DateTimeImmutableValue::from(3 * DateTimeImmutableValue::HOUR); // now + 3 hours

\assert($time instanceof \DateTimeImmutable);

echo (string)$time;
// 2020-02-02 20:22:02
echo \json_encode($time);
// 2020-02-02T20:22:02+00:00

Clock

use spaceonfire\Clock\FrozenClock;
use spaceonfire\Clock\SystemClock;

$clock = new FrozenClock(SystemClock::fromUTC());
$startedAt = $clock->now();
\sleep(5);
$finishedAt = $clock->now();
\assert($startedAt === $finishedAt);

$clock->reset();

变更日志

请参阅 CHANGELOG 以获取最近更改的更多信息。

贡献

main spaceonfire 仓库提交问题发送拉取请求。请参阅 CONTRIBUTINGCODE_OF_CONDUCT 获取详细信息。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。