monadial / php-duration
PHP 时间长度类型
1.0
2023-06-29 15:48 UTC
Requires
- php: >=8.1
Requires (Dev)
- composer/xdebug-handler: 3.0.3
- friendsofphp/php-cs-fixer: v3.20.0
- nikic/php-parser: ~4.15
- php-parallel-lint/php-parallel-lint: ~v1.3
- phpmd/phpmd: 2.13.0
- phpro/grumphp: v1.16.0
- phpstan/phpstan: 1.10.21
- phpunit/phpunit: 9.6.9
- roave/security-advisories: dev-master
- sensiolabs/security-checker: v6.0.3
- slevomat/coding-standard: 8.13.1
- squizlabs/php_codesniffer: 3.7.2
- vimeo/psalm: 5.13.1
This package is auto-updated.
Last update: 2024-09-24 12:42:16 UTC
README
缺少 PHP TimeUnit 和 Duration 库
安装
composer require monadial/php-duration
有限时间长度
FiniteDuration 类表示时间的有限长度。它提供了对持续时间进行操作和转换的功能,例如加法、减法、乘法、除法和转换为不同的时间单位。
工厂方法
-
fromTimeUnit(int $length, TimeUnit $unit): FiniteDuration
: 从指定的长度和时间单位创建一个新的 FiniteDuration 类实例。\Monadial\Duration\FiniteDuration::fromTimeUnit(1, TimeUnit::SECONDS); // create 1 second duration
-
fromNanos(int $nanos): FiniteDuration
: 从指定的纳秒持续时间创建一个新的 FiniteDuration 类实例。\Monadial\Duration\FiniteDuration::fromNanos(1000); // create 1000 nanoseconds duration
-
fromString(string $duration): FiniteDuration
: 从持续时间字符串创建一个新的 FiniteDuration 类实例。\Monadial\Duration\FiniteDuration::fromTimeUnit('1 minutes'); // create 1 minute duration
持续时间转换方法
toNanos(): int
: 将持续时间转换为纳秒。toMicros(): int
: 将持续时间转换为微秒。toMillis(): int
: 将持续时间转换为毫秒。toSeconds(): int
: 将持续时间转换为秒。toMinutes(): int
: 将持续时间转换为分钟。toHours(): int
: 将持续时间转换为小时。toDays(): int
: 将持续时间转换为天。toUnit(TimeUnit $unit): float
: 将持续时间转换为指定的时间单位。
算术运算
add(Duration $other): FiniteDuration
: 将另一个持续时间添加到当前持续时间。subtract(Duration $other): FiniteDuration
: 从当前持续时间中减去另一个持续时间。multiply(int $factor): FiniteDuration
: 将持续时间乘以一个因子。division(int $divisor): FiniteDuration
: 将持续时间除以一个除数。
其他方法
isFinite(): bool
: 检查持续时间是否有限。equals(Duration $other): bool
: 检查当前持续时间是否等于另一个持续时间。toCoarsest(): Duration
: 将持续时间转换为可能的最粗单位。asDateTime(): DateTimeImmutable
: 将持续时间转换为 DateTimeImmutable 对象。
异常
FiniteDuration 类可能会抛出以下异常
FiniteDurationBoundary
: 当持续时间超过时间单位允许的最大或最小值时抛出。NanosecondsAreNotConvertibleToDateTime
: 当尝试将纳秒持续时间转换为 DateTimeImmutable 对象时抛出(纳秒不能表示为有效的日期和时间)。UnableToConvertToDateTime
: 当由于限制或错误,持续时间不能转换为 DateTimeImmutable 对象时抛出。
请注意,这只是一个关于 FiniteDuration 类及其可用方法的概述。有关每个方法及其用法的详细信息,请参阅类实现和文档。