bayfrontmedia / php-time-helpers
提供有用时间相关函数的辅助类。
Requires
- php: ^8.0
- bayfrontmedia/php-array-helpers: ^2.0
This package is auto-updated.
Last update: 2024-08-26 20:53:36 UTC
README
提供有用时间相关函数的辅助类。
许可
本项目为开源项目,并遵循MIT 许可协议。
作者
需求
- PHP
^8.0
安装
composer require bayfrontmedia/php-time-helpers
使用
- getReadTime
- getDateTime
- isLeapYear
- humanArray
- human
- isTimezone
- isFormat
- inPast
- inFuture
- isBefore
- isAfter
- stopwatch
getReadTime
描述
根据每分钟阅读给定数量的单词(WPM)来获取阅读内容的估计分钟数。
参数
$content
(字符串)$wpm = 180
(整数)
返回值
- (整数)
示例
use Bayfront\TimeHelpers\Time;
$content = 'This is a string of content.';
echo Time::getReadTime($content);
getDateTime
描述
返回给定时间戳的日期时间,或当前时间(默认)。
参数
$timestamp = NULL
(整数|null)
返回值
- (字符串)
示例
use Bayfront\TimeHelpers\Time;
echo Time::getDateTime();
isLeapYear
描述
检查给定年份是否为闰年,默认使用当前年份。
参数
$year = NULL
(整数|null): 四位数字年份,PHPdate('Y')
格式
返回值
- (布尔值)
示例
use Bayfront\TimeHelpers\Time;
if (Time::isLeapYear()) {
// Do something
}
humanArray
描述
以数组形式返回人类时间。
注意:由于某些月份和年份的长度存在差异(例如:闰年),这些时间单位的时间计算是近似的(每月30天,每年365天)。
参数
$time_start
(整数): 开始时间的时间戳$time_end
(整数): 结束时间的时间戳$limit = 'year'
(字符串): 要计算的时间持续限制$language = NULL
(数组|null): 要返回的自定义语言
有效的 $limit
值
年
月
周
天
小时
分钟
秒
传递一个 $language
数组,您可以将此方法返回的单词翻译成其他语言。数组的键必须与默认数组匹配,默认数组如下
$language = [
'year' => 'year',
'years' => 'years',
'month' => 'month',
'months' => 'months',
'week' => 'week',
'weeks' => 'weeks',
'day' => 'day',
'days' => 'days',
'hour' => 'hour',
'hours' => 'hours',
'minute' => 'minute',
'minutes' => 'minutes',
'second' => 'second',
'seconds' => 'seconds',
'past' => 'ago',
'present' => 'just now',
'future' => 'to go'
];
返回值
- (数组)
示例
use Bayfront\TimeHelpers\Time;
$start = time();
$end = time() + 51001;
print_r(Time::humanArray($start, $end, 'minute'));
human
描述
以字符串形式返回人类时间。
有关更多信息,请参阅humanArray。
参数
$time_start
(整数): 开始时间的时间戳$time_end
(整数): 结束时间的时间戳$limit = 'year'
(字符串): 要计算的时间持续限制$language = NULL
(数组| null): 要返回的自定义语言
返回值
- (字符串)
示例
use Bayfront\TimeHelpers\Time;
$start = time();
$end = time() + 51001;
echo Time::human($start, $end);
isTimezone
描述
检查字符串是否是有效的时区标识符。
见:https://php.ac.cn/manual/en/timezones.php
参数
$timezone
(字符串)
返回值
- (布尔值)
示例
use Bayfront\TimeHelpers\Time;
if (Time::isTimezone('America/New_York')) {
// Do something
}
isFormat
描述
检查值是否是给定的 dateTime 格式。
见:https://php.ac.cn/manual/en/function.date.php
参数
$date
(字符串)$format
(字符串): 任何有效的日期/时间格式$strict = 'true'
(布尔值)
返回值
- (布尔值)
示例
use Bayfront\TimeHelpers\Time;
$date = '2020-07-18';
if (Time::isFormat($date, 'Y-m-d')) {
// Do something
}
inPast
描述
检查日期/时间是否在过去。
见:https://php.ac.cn/manual/en/datetime.formats.php
参数
$date
(字符串): 任何有效的日期/时间格式
返回值
- (布尔值)
示例
use Bayfront\TimeHelpers\Time;
if (Time::inPast('last Tuesday')) {
// Do something
}
inFuture
描述
检查日期/时间是否在未来。
见:https://php.ac.cn/manual/en/datetime.formats.php
参数
$date
(字符串): 任何有效的日期/时间格式
返回值
- (布尔值)
示例
use Bayfront\TimeHelpers\Time;
if (Time::inFuture('2050-12-31')) {
// Do something
}
isBefore
描述
检查日期/时间是否在给定日期/时间之前。
见:https://php.ac.cn/manual/en/datetime.formats.php
参数
$date
(字符串): 任何有效的日期/时间格式$before
(字符串): 任何有效的日期/时间格式
返回值
- (布尔值)
示例
use Bayfront\TimeHelpers\Time;
if (Time::isBefore('today', '2050-12-31')) {
// Do something
}
isAfter
描述
检查日期/时间是否在给定日期/时间之后。
见:https://php.ac.cn/manual/en/datetime.formats.php
参数
$date
(字符串): 任何有效的日期/时间格式$after
(字符串): 任何有效的日期/时间格式
返回值
- (布尔值)
示例
use Bayfront\TimeHelpers\Time;
if (Time::isAfter('today', '2050-12-31')) {
// Do something
}
stopwatch
描述
返回回调执行所需的时间(以秒为单位)。
参数
$callable
(回调)$times = 1
(整数): 迭代回调的次数$decimals = 5
(整数): 四舍五入到的十进制位数
返回值
- (浮点数)
示例
use Bayfront\TimeHelpers\Time;
$elapsed = Time::stopwatch(function() {
sleep(2);
}, 2);