pleets/units-of-measurement

v0.2.0 2021-07-23 02:28 UTC

This package is auto-updated.

Last update: 2024-09-23 09:19:08 UTC


README

此项目收集了一些单位测量值,并封装在简单的常量类中。添加了一些行为来更舒适地处理和交互。

在本版本中,实现了以下单位

  • 时间(s, m, h, ...)
  • 信息(B, KB, MB, ...)

安装

使用以下命令安装此库

composer require pleets/units-of-measurement

使用方法

显示单位和符号

您可以按照以下方式获取单位测量值的名称

use Pleets\Units\Symbols\TimeSymbol;
use Pleets\Units\Units\TimeUnit;
use Pleets\Units\Symbols\InformationSymbol;
use Pleets\Units\Units\InformationUnit;

// second
$symbol = TimeUnit::fromSymbol(TimeSymbol::SECOND);

// kilobyte
$symbol = InformationUnit::fromSymbol(InformationSymbol::KILOBYTE);

同样地,您可以按照以下方式获取单位测量值的符号

use Pleets\Units\Symbols\TimeSymbol;
use Pleets\Units\Units\TimeUnit;
use Pleets\Units\Symbols\InformationSymbol;
use Pleets\Units\Units\InformationUnit;

// s
$symbol = TimeSymbol::fromUnit(TimeUnit::SECOND);

// KB
$symbol = InformationSymbol::fromUnit(InformationUnit::KILOBYTE);

分组单位和符号

您可以根据需要按以下方式分组单位。

use Pleets\Units\Units\TimeUnit;
use Pleets\Units\Units\Sets\TimeUnitSet;

$timeSet = new TimeUnitSet();
$timeSet->addUnit(TimeUnit::MINUTE);
$timeSet->addUnit(TimeUnit::HOUR);

// ['minute', 'hour']
$units = $timeSet->toArray();

同样地,您可以根据需要按以下方式分组符号。

use Pleets\Units\Symbols\TimeSymbol;
use Pleets\Units\Symbols\Sets\TimeSymbolSet;

$timeSet = new TimeSymbolSet();
$timeSet->addSymbol(TimeSymbol::MINUTE);
$timeSet->addSymbol(TimeSymbol::HOUR);

// ['min', 'h']
$symbols = $timeSet->toArray();

转换

您可以使用每个单位的主类在单位之间进行转换。

use Pleets\Units\Time;

$time = Time::fromUnit('minute', 5);

// 300s
$time->toMinutes()->toString();

// 300 seconds
$time->toString(false);