mic2100 / fuzzy-time
模糊时间计算器
7.4.0
2022-04-01 19:16 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^8.1
This package is auto-updated.
Last update: 2024-08-29 05:22:42 UTC
README
这个项目受到了Ubuntu上存在的模糊时间时钟的启发。它可以在不知道确切分钟数的情况下,给你一个大致的时间概念。
例如,九点一刻或两点半
安装
composer require mic2100/fuzzy-time
使用方法
use Mic2100\FuzzyTime\GeneratorAwareTrait;
use Mic2100\FuzzyTime\GeneratorFactory;
use Mic2100\FuzzyTime\Language\Dictionaries\English;
use Mic2100\FuzzyTime\Language\Dictionaries\German;
use Mic2100\FuzzyTime\Language\LanguageFactory;
date_default_timezone_set('Europe/London');
$factory = new GeneratorFactory();
$english = $factory->get(); //or $factory->get(LanguageFactory::get(English::HANDLE);
$german = $factory->get(LanguageFactory::get(German::HANDLE));
class SampleClass
{
use GeneratorAwareTrait;
}
$traitClass = new SampleClass();
while (true) {
echo $english->getFuzzyTime() . PHP_EOL;
echo $german->getFuzzyTime() . PHP_EOL;
echo $traitClass->getFuzzyTime((new DateTime('-25 MINS'))) . PHP_EOL;
sleep(30);
}
/*----------------------------------------------
* Example Output
*
* five to one //$english->getFuzzyTime()
* fünf vor ein //$german->getFuzzyTime()
* half to twelve //$traitClass->getFuzzyTime((new DateTime('-25 MINS')), LanguageFactory::get(English::HANDLE))
*
* or
*
* three o'clock //$english->getFuzzyTime()
* drei uhr //$german->getFuzzyTime()
* twenty five to three //$traitClass->getFuzzyTime((new DateTime('-25 MINS')), LanguageFactory::get(English::HANDLE))
*/
如果你只想使用英语,那么不需要使用LanguageFactory
,因为这是默认语言。