kuria/clock

提供对当前日期和时间的访问,可以用于测试目的进行模拟。

v1.0.0 2018-09-16 21:53 UTC

This package is auto-updated.

Last update: 2024-09-22 17:42:10 UTC


README

提供对当前日期和时间的访问,可以用于测试目的进行模拟。

https://www.travis-ci.cn/kuria/clock.svg?branch=master

内容

需求

  • PHP 7.1+

使用方法

Kuria\Clock\Clock 类提供对当前日期和时间的访问。

获取当前时间

  • Clock::time(): int
    • 获取当前的 UNIX 时间戳
  • Clock::microtime(): float
    • 获取带有微秒精度的当前 UNIX 时间戳
  • Clock::dateTime(?\DateTimeZone $timezone = null): \DateTime
    • 获取当前的日期和时间
    • 如果没有指定,使用默认时区
  • Clock::dateTimeImmutable(?\DateTimeZone $timezone = null): \DateTimeImmutable
    • 获取当前日期时间的不变实例
    • 如果没有指定,使用默认时区

覆盖当前时间

  • Clock::override($now): void
    • 覆盖当前时间
    • $now 可以是 UNIX 时间戳或 DateTimeInterface 实例
    • $now 可以包含微秒
    • 此更改仅影响 Clock 类的方法
  • Clock::isOverridden(): bool
    • 检查当前时间是否已被覆盖
  • Clock::resume(): void
    • 在覆盖时间后恢复正常操作
    • 如果当前时间未被覆盖,此方法不执行任何操作

注意

时间覆盖仅适用于测试目的。