matthewdavis/duration

一个易于处理持续时间的包。

v1.0.2 2019-03-19 15:47 UTC

This package is auto-updated.

Last update: 2024-09-20 04:02:52 UTC


README

Build Status

持续时间

Duration 是一个 PHP 库,用于在不同类型的持续时间之间进行转换。

例如,你可能想要缓存某些内容 2 天,但你的缓存配置是在秒数。Duration 使得在代码中读取变得非常简单,并消除了魔法数字。

安装

使用 Composer 安装该包

composer require matthewdavis/duration

使用方法

use MatthewDavis\Duration\Duration;

$seconds = Duration::days(3)->inSeconds(); // 259,200

该库具有以下静态构造函数

// Seconds
Duration::second();
Duration::seconds(int $seconds);

// Minutes
Duration::minute();
Duration::minutes(int $minutes);

// Hours
Duration::hour();
Duration::hours(int $hours);

// Days
Duration::day();
Duration::days(int $days);

// Weeks
Duration::week();
Duration::weeks(int $weeks);

你可以通过使用获取器方法在任意单位之间进行转换

$duration = Duration::week();

$duration->inSeconds(); // 604,800
$duration->inMinutes(); // 10,080
$duration->inHours();   // 168
$duration->inDays();    // 7
$duration->inWeeks();   // 1

你也可以链式调用(当你设置配置值时可能这样做)

// In some configuration file...
'cache_ttl' => Duration::days(2)->inSeconds(),

贡献

欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论你想更改的内容。

请确保根据需要更新测试。

许可证

MIT