pwa/ time-elapsed
一个类,用于以美观(且高度可修改)的格式打印两个 DateTime 对象之间的经过时间
v1.0
2015-01-20 12:21 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-14 15:21:55 UTC
README
pwa/time-elapsed
一个 PHP 类,用于以美观(且高度可修改)的格式打印两个 DateTime 对象之间的经过时间。
安装
要将此包添加为项目本地依赖项,只需将 pwa/time-elapsed
依赖项添加到您的项目 composer.json
文件中。
{ "require": { "pwa/time-elapsed": "dev-master" } }
由于此类使用命名空间,在实例化对象时,您需要使用完全限定命名空间
$elapsed = new \Pwa\TimeElapsed($start);
用法
此类以格式化的方式打印两个 DateTime 对象之间的经过时间,格式由 src/localization.php 中找到的匿名函数确定。例如,如果经过时间是 >= 1 周 且 < 1 个月,则将调用此函数
'weeks_ago' => function ($weeks) { if (floor($weeks) == 1) { return 'a week ago'; } else { return floor($weeks) . ' weeks ago'; } },
您可以将自己的本地化函数轻松传递给 TimeElapsed 类,以覆盖默认的本地化/格式化
$timezone = new \DateTimeZone("Europe/Stockholm"); $date = new \DateTime('2015-01-01 15:00:00', $timezone); $elapsed = new TimeElapsed($date); echo $elapsed->getElapsedTime(); // Between $date and $now = DateTime(null, $timezone); // Output: a week ago $localization = '/path/to/my_localization.php'; $elapsed->setLocalization($localization); echo $elapsed->getElapsedTime(); // Output: one week ago $localization = '/path/to/my_french_localization.php'; $elapsed->setLocalization($localization); echo $elapsed->getElapsedTime(); // Output: Il ya 1 semaine
您还可以在实例化对象时传递一个结束日期
$start = new \DateTime('2015-01-01 15:00:00', $timezone); $end = new \DateTime('2015-01-01 15:00:05', $timezone); $elapsed = new TimeElapsed($start, end); echo $elapsed->getElapsedTime(); // Output: a few seconds ago
许可证
此软件是免费软件,并带有 MIT 许可证。