dcaswel/time-converter

一个PHP包,可以将时间单位转换为另一个时间单位。

1.0.0 2022-12-11 05:47 UTC

This package is auto-updated.

Last update: 2024-09-11 09:43:36 UTC


README

一个流畅的PHP包,可以将一个时间单位转换为另一个时间单位。

您是否曾经想要一种优雅的方式来获取一定量的秒?比如说,您在使用一个缓存系统,需要将ttl设置为若干秒。这看起来熟悉吗?

//One day's worth of seconds
$ttl = 24 * 60 * 60;

您是否曾经想要有更易读且自文档化的东西。这正是这个包的用武之地。以下使用Time Converter的等效代码行

use Dcaswel\TimeConverter\TimeConverter;

$ttl = TimeConverter::convert()->oneDay()->toSeconds();

现在,让我们深入了解一下...

安装

composer require dcaswel/time-converter

用法

此包可用于将几乎任何长度的时间转换为其他任何长度的时间。

示例

TimeConverter::convert()->days(5)->toSeconds(); //432000
TimeConverter::convert()->years(2)->toMonths(); //24
TimeConverter::convert()->weeks(20)->toDays(); //140
...

注意:为了保持数字的完整性,一个月被认为是28天。

您还可以组合方法以获取更精确的时间

TimeConverter::convert()->weeks(2)->days(5)->toDays(); //19

对于类中的任何方法,您也可以通过在开头添加 one 并移除 s 来调用它的单数版本。例如

  • weeks() 可以是 oneWeek()
  • days() 可以是 oneDay()
  • 等等。

API

/**
 * Methods to set the time being converted 
 */
 
public function minutes(int $number)
public function hours(int $number)
public function days(int $number)
public function weeks(int $number)
public function months(int $number)
public function years(int $number)

/**
 * Methods to get the number you want to convert to
 */

public function toSeconds(): int|float
public function toMinutes(): int|float
public function toHours(): int|float
public function toDays(): int|float
public function toWeeks(): int|float
public function toMonths(): int|float
public function toYears(): int|float