joaopedrobaq / diffdatas
日期差异计算器,用PT-br编写
v1.0.0
2020-06-17 06:47 UTC
This package is auto-updated.
Last update: 2024-09-17 15:49:22 UTC
README
PHP日期差异计算器
安装
此包可以通过composer安装
composer require joaopedrobaq/diffdatas
如何使用
在文件顶部放置
require_once __DIR__ . '/vendor/autoload.php'; use DiffDatas\Datas;
创建一个名为Datas的对象实例,并放置两个日期。日期格式应为"aaaa-mm-dd hh:mm:ss",如下例所示
$datas = new Datas; $datas->setData1("2020-12-24 20:30:00"); // 24 de Dezembro de 2020 às 20:30 $datas->setData2("2020-06-15 12:00:00"); // 15 de Junho de 2020 às 12 horas
如果您想将其中一个日期设为当前时间,可以在setData中使用$datas->agora
$datas->setData1($datas->agora);
在插入日期后,使用以下方法执行差异计算
$datas->subDatas();
计算完成后,可以以多种方式返回结果
返回值
以下代码将用于以下所有情况作为示例
$datas = new Datas; $datas->setData1("2020-12-25 00:00:00"); // 25 de Dezembro de 2020 à meia-noite $datas->setData2("2020-06-15 12:00:00"); // 15 de Junho de 2020 às 12:00:00 $datas->subDatas());
它将计算从2020年6月15日开始到2020年12月25日之间还有多少时间。
带有差异的数组
如果您想返回一个包含差异的关联数组,请使用
$resultado = $datas->arrayDiff(); print_r($resultado); // Retorna Array ( [anos] => 0 [meses] => 6 [dias] => 9 [horas] => 12 [minutos] => 0 [segundos] => 0 )
也就是说,距离圣诞节还有6个月,9天和12小时。
简单写差异
如果您想写出最大的时间单位,可以使用escreverSimples()
方法
$resultado = $datas->escreverSimples(); echo $resultado; // Retorna 6 meses
详细写差异
要详细写出,请使用escreverExtenso()
方法
$resultado = $datas->escreverExtenso(); echo $resultado; // Retorna 6 meses, 9 dias e 12 horas
写未来的日期
您还可以详细写出未来的日期,使用如“今天”,“明天”,“星期X”(如果是在下周)或仅日期数字。要实现这一点,只需要提供Data1
并执行操作。然后,使用escreverFuturo($as)
方法。参数$as
应该是一个boolean
,它定义了返回的字符串是否应在日期和小时之间包含“às”,如下例所示
// A data usada como referência é o momento atual, que nesse exemplo é 15 de junho de 2020 $datas = new Datas; $datas->setData1("2020-06-15 20:00:00"); // 15 de junho de 2020 às 20 hrs echo($datas->escreverFuturo(false)); // Retorna Hoje 20:00 echo($datas->escreverFuturo()); // O valor padrão é false // Retorna Hoje 20:00 echo($datas->escreverFuturo(true)); // Retorna Hoje às 20:00
请注意,不需要执行subDatas()
计算,因为该方法已经执行了。更多示例
$datas = new Datas; $datas->setData1("2020-06-16 14:00:00"); // 16 de junho de 2020 às 14 hrs echo($datas->escreverFuturo()); // Retorna Amanhã 14:00 $datas->setData1("2020-06-18 08:00:00"); // 16 de junho de 2020 às 14 hrs echo($datas->escreverFuturo(false)); // Retorna Quinta 08:00 $datas->setData1("2020-06-25 18:30:00"); // 16 de junho de 2020 às 14 hrs echo($datas->escreverFuturo(true)); // Retorna 25/06 às 18:30
贡献
如果您想为此项目做出贡献,请创建一个问题,以便我们可以讨论错误或可能的仓库添加。
许可证
MIT许可证 - https://open-source.org.cn/licenses/mit-license.php