pacely / pronto
智能时间解析器
v1.0.1
2014-11-02 16:49 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 4.2.*
This package is not auto-updated.
Last update: 2024-09-14 16:13:33 UTC
README
安装
将pronto添加到composer.json文件中
"require": {
"pacely/pronto": "dev-master"
}
使用composer安装此包。
$ composer update
注册包
如果您使用Laravel框架,我们已经为您制作了Service Provider和Facade。
在app/config/app.php
中找到的providers
数组中注册服务提供者
'providers' => array( // ... 'Pacely\Pronto\ProntoServiceProvider' )
在app/config/app.php
中找到的aliases
数组中添加别名
'aliases' => array( // ... 'Pronto' => 'Pacely\Pronto\Facades\Pronto', )
格式化工具
整数
仅匹配整数。 <=9
转换为小时,>9
转换为分钟。
echo Pronto::parse(10)->toTime(); // 09:00
echo Pronto::parse(9)->toTime(); // 00:10
小数
匹配小数值(浮点数、双精度浮点数)。允许逗号和点字符。
-
| 01:00
echo Pronto::parse('0,5')->toTime(); // 00:30
echo Pronto::parse(1.5)->toTime(); // 01:30
范围
匹配时间范围。
echo Pronto::parse('09-10')->toTime(); // 01:00
echo Pronto::parse('09:00 - 10:00')->toTime(); // 01:00
echo Pronto::parse('09:00-')->toTime(); // Time between 09:00 and NOW
简短
匹配从m(分钟)到w(周)的简短时间。1天等于7.5小时。1周等于5天。
echo Pronto::parse('1d 2h 30m')->toTime(); // 10:00
echo Pronto::parse('2 h 2 m')->toTime(); // 02:02
echo Pronto::parse('1w 2d 20m')->toTime(); // 52:50
辅助方法
(int) parse(string)
返回转换为秒的时间
$pronto = new Pronto;
echo $pronto->parse('0.5'); // 1800
(int) toMinutes()
将秒转换为分钟
echo $pronto->parse('0.5')->toMinutes(); // 30
(double) toDecimal()
将秒转换为十进制小时
echo $pronto->parse('2h 30m')->toDecimal(); // 2.5
(string) toTime()
以HH:mm
格式返回转换的时间
echo $pronto->parse('0.5')->toTime(); // 00:30