php - php - 两次的总和 (HH:MM:SS)
问题描述
我有 4 个约会时间
datatime1= 2018-10-01 13:00:00
datatime2= 2018-10-01 13:59:00
datatime3= 2018-10-01 14:29:00
datatime4= 2018-10-01 15:29:00
所以我需要得到这个结果
第 1 部分:数据时间 [2]-数据时间 [1] = 0:59:0
PART2:数据时间[3]-数据时间[2] = 0:30:0
PART3:数据时间[4]-数据时间[3] = 1:0:0
第 4 部分:第 1 部分 + 第 3 部分 = 1:59:0
如果这是正确的方法,我想知道,但我可以获得第1部分、第 2 部分和 第3 部分的结果,但我不知道如何获得第 4 部分的结果
$time1 = new DateTime('2018-10-01 13:00:00');
$time2 = new DateTime('2018-10-01 13:59:00');
$time3 = new DateTime('2018-10-01 14:29:00');
$time4 = new DateTime('2018-10-01 15:29:00');
$part1= date_diff($time2,$time1)->format('%h:%i:%s');
$part2= date_diff($time3,$time2)->format('%h:%i:%s');
$part3= date_diff($time4,$time3)->format('%h:%i:%s');
解决方案
我假设您的示例是错误的,因为 part1 + part2 会导致 1:29 而不是 1:59。
解释可以在代码中的注释中找到。
<?php
$time1 = new DateTime('2018-10-01 13:00:00');
$time2 = new DateTime('2018-10-01 13:59:00');
$time3 = new DateTime('2018-10-01 14:29:00');
$time4 = new DateTime('2018-10-01 15:29:00');
$part1= $time1->diff($time2)->format('%h:%i:%s');
$part2= $time2->diff($time3)->format('%h:%i:%s');
$part3= $time3->diff($time4)->format('%h:%i:%s');
$part4 = new DateTime('00:00'); // Create a 00:00 DateTime so we can use it for calculation
$part4Clone = clone $part4;
$part4->add($time1->diff($time2)); // Add $part1 (difference between $time1 and $time2)
$part4->add($time2->diff($time3)); // Add $part2 (difference between $time2 and $time3)
$part4 = $part4->diff($part4Clone)->format('%h:%i:%s'); // Calculate difference between 00:00 and $part1+$part2 and format it accordingly
var_dump($part1,$part2,$part3,$part4);
5.6.38 - 7.3.0rc4 的输出
字符串(6)“0:59:0”
字符串(6)“0:30:0”
字符串(5)“1:0:0”
字符串(6)“1:29:0”
推荐阅读
- graphql - 空手道如何让 websocket 保持活力
- java - 如何从 citrus 测试类调用 citrus bean 配置类中的任何变量
- javascript - 是否可以通过css自动聚焦在div上?
- phpmyadmin - 如何将 vb.net 2012 连接到其他计算机上的数据库
- javascript - MongoDB如果字段不存在插入
- excel - 我在 Userform2 中创建了一个“返回”按钮来显示 Userform1,但出现错误:运行时错误 400 表单已经显示无法模态
- java - 更新recyclerview数据
- c++ - 从格式化输入操作中获取读取字符的数量
- docker - 如果 docker 更新它的 linux 内核,它会破坏现有的 docker 镜像吗?
- python - Python:百万条记录的缓慢处理