dateoperation / operation
DateOperation 类易于使用,并提供简单的加法、减法和小时间隔求和
dev-master
2021-03-20 23:45 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-21 06:56:25 UTC
README
加法、减法和小时间隔求和操作。
DateOperation 组件是为了简化对小时和分钟间隔的处理而开发的。支持 DateTime 和 Literal 类型的输入,提供了更多灵活性和使用便捷性。
文档
安装
使用 composer
/>composer require dateoperation/operation:dev-master
通过 composer 将组件加载到项目中后,您就可以使用其功能,并看到小时和分钟操作是多么简单。
示例代码
<?php require_once __DIR__."/vendor/autoload.php"; $op = new DateOperation\Operation\DateOperation; $horas = array( [3,14], [3,15], [1,11] ); var_dump($op->dateSub($horas,true,LITERAL_TYPE));
结果: string(6) "-1:-12"
DateOperation 类提供了对小时和分钟的三种操作方法。
所有方法 method($arr [], $return true, LITERAL_TYPE);
都有三个参数,其中第二个和第三个是可选的。
- $arr [] = 执行操作的数组。如果设置了 LITERAL_TYPE 参数,则 $arr [] 将期望以数组形式输入小时和分钟
["hora1"=>1,"minuto1"=>25],["hora2"=>2,"minuto2"=>13]
。如果设置了 DATETIME_TYPE 参数,则 $arr [] 将期望以 DateTime 格式输入小时和分钟[new DateTime()],[new DateTime()]
。 - $return = 定义方法返回值的布尔值,其中
true
返回一个包含小时和分钟的字符串,而false
返回一个包含两个属性的对象,$op->hour
返回小时,$op->minute
返回分钟。 - LITERAL_TYPE 或 DATETIME_TYPE = 定义方法将接收的输入类型的常量,其中
LITERAL_TYPE
期望一个数组array([1,21],[2,12])
,而DATETIME_TYPE
期望一个数组array(new DateTime('NOW'),new DateTime('NOW'))
。
求和小时和分钟
文本类型
<?php require_once __DIR__."/vendor/autoload.php"; $op = new DateOperation\Operation\DateOperation; $horas = array( [2,3], [2,3], [2,3], [2,3] ); var_dump($op->dateSum($horas,true,LITERAL_TYPE));
DateTime 类型
<?php require_once __DIR__."/vendor/autoload.php"; $op = new DateOperation\Operation\DateOperation; $horas = array( new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 04:39:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 05:45:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 06:00:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 09:21:00'))) ); var_dump($op->dateSum($horas,true,DATETIME_TYPE));
减小时和分钟
文本类型
<?php require_once __DIR__."/vendor/autoload.php"; $op = new DateOperation\Operation\DateOperation; $horas = array( [2,3], [2,3], [2,3], [2,3] ); var_dump($op->dateSub($horas,true,LITERAL_TYPE));
DateTime 类型
<?php require_once __DIR__."/vendor/autoload.php"; $op = new DateOperation\Operation\DateOperation; $horas = array( new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 04:39:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 05:45:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 06:00:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 09:21:00'))) ); var_dump($op->dateSub($horas,true,DATETIME_TYPE));
小时和分钟之间的差异
文本类型
<?php require_once __DIR__."/vendor/autoload.php"; $op = new DateOperation\Operation\DateOperation; $horas = array( [2,3], [2,3], [2,3], [2,3] ); var_dump($op->dateDiffSum($horas,true,LITERAL_TYPE));
DateTime 类型
<?php require_once __DIR__."/vendor/autoload.php"; $op = new DateOperation\Operation\DateOperation; $horas = array( new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 04:39:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 05:45:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 06:00:00'))), new DateTime(date('Y-m-d H:i:s', strtotime('2021-03-10 09:21:00'))) ); var_dump($op->dateDiffSum($horas,true,DATETIME_TYPE));
您服务器的时区必须正确设置。
如果您想手动设置时区,只需在运行所需方法之前添加 date_default_timezone_set(string timezone);
即可。
DateOperation 组件提供了简单处理小时和分钟的方式。
由 Anderson S Leonardo 开发。