mpratt / relativetime
这是一个库,用于计算两个日期之间的时间差,并以文字形式返回结果(例如:5分钟前或5分钟剩余)。该库还支持其他语言,如西班牙语和德语。
Requires
- php: >=5.3
Requires (Dev)
- phpstan/phpstan: ^1.4
- phpunit/phpunit: *
README
RelativeTime是一个轻量级且易于使用的库,可以帮助您计算两个日期之间的时间差,并以文字形式返回结果(例如,5分钟前或5分钟剩余)。该库还支持其他语言,如西班牙语
、葡萄牙语BR
、法语
、捷克语
、俄语
、简体中文
、瑞典语
和德语
。
它使用现代PHP版本中找到的标准\DateTime()和\DateInterval()类。有关更多信息,请参阅此README的用法
部分。
需求
- PHP >= 5.3(仅在PHP +7.3上进行测试)
安装
使用Composer安装
如果您使用Composer来管理依赖项,可以通过创建一个composer.json文件并添加以下内容来使用此库:
{
"require": {
"mpratt/relativetime": "~1.0"
}
}
保存并运行composer.phar install
独立安装(不使用Composer)
下载最新版本或克隆此存储库,将Lib/RelativeTime
目录放置在您的项目中的某个位置。之后,您只需要包含提供的Autoload.php
文件。
require '/path/to/RelativeTime/Autoload.php'; use RelativeTime\RelativeTime; $relativeTime = new RelativeTime();
或者如果您已经有了PSR-0兼容的自动加载器,只需注册RelativeTime即可
$loader->registerNamespace('RelativeTime', 'path/to/RelativeTime');
用法
您通常需要使用convert($fromDate, $toDate)
方法。
use RelativeTime\RelativeTime; $relativeTime = new RelativeTime(); echo $relativeTime->convert('2010-09-05', '2010-03-30'); // 5 months, 6 days ago $relativeTime = new RelativeTime(); echo $relativeTime->convert('2012-03-05', '2013/02/05'); // 11 months left
还有另外两个有用的方法timeAgo($date)
和timeLeft($date)
,它们计算自/至当前日期/时间的时间。
use RelativeTime\RelativeTime; // Asumming Today is the 2013-09-23 17:23:47 $relativeTime = new RelativeTime(); echo $relativeTime->timeAgo('2012-08-29 06:00'); // 1 year, 25 days, 16 hours, 23 minutes, 13 seconds ago $relativeTime = new RelativeTime(); echo $relativeTime->timeLeft('2013-10-31 01:00:05'); // 1 month, 7 days, 2 hours, 36 minutes, 52 seconds left
配置选项
主要对象接受一个包含配置指令的数组
use RelativeTime\RelativeTime; $config = array( 'language' => '\RelativeTime\Languages\English', 'separator' => ', ', 'suffix' => true, 'truncate' => 0, 'use_weeks' => false, ); $relativeTime = new RelativeTime($config);
作者
Michael Pratt - yo@michael-pratt.com - http://www.michael-pratt.com 有关参与此项目的贡献者列表。
如果您喜欢这个库,并且它对您有所帮助,并且想支持我,您可以通过PayPal来支持。
许可
RelativeTime在MIT许可下发布 - 有关详细信息,请参阅LICENSE文件。