tmihalicka / php-duration
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
有限时长
The 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
类及其可用方法的概述。有关每个方法和其使用的详细信息,请参阅类实现和文档。