【问题标题】:How to calculate time difference with schedule working b/w two time stamps?如何计算两个时间戳之间的时间差?
【发布时间】:2017-03-27 13:29:13
【问题描述】:

这是我有一个任务表start_timeend_time 这样的场景,开始方法我记下start_time暂停/审查/完成 我注意到end_time 这是我的表格

ID    |    task_id       |    start_time      |     end_time
-----------------------------------------------------------------
1             1           2017-03-02 06:27:28   2017-03-12 10:43:37
2             5           2017-03-02 07:16:05          NULL//in progress no end time  

例如,在我想计算的一周内,工作时间610工作日 工作日轮班时间的准确时间。我找了很多答案,请帮我找一个合适的计算方法。

注意:end_timeNULL 我使用 date() 表示当前日期

【问题讨论】:

  • 您知道服务器时间是恒定的,并且基于 GMT 吗?无论客户端如何,服务器时间都不会改变。您的问题是关于如何正确向用户显示时间?
  • 这就像在服务器时间的基础上进行监控假设我将工作时间设置为服务器时间到我的时间转换然后,我想计算工作班次期间经过的分钟数,以工作日为单位
  • 也许您应该向我们展示您想要的结果。从你说的很直接。有很多 MySQL 函数可以对日期/时间列进行“数学运算”。
  • 我已经尝试过 strtotime(end_time) - strtotime(start_date) 这给出了完全不同的结果,但我只希望在给定的轮班时间内流逝的时间,并且因素包括那几天应该是一周中的工作日跨度>

标签: php mysql time


【解决方案1】:

PHP code demo

<?php

$datetime1 = new DateTime('2017-03-02 06:27:28');
if($datetime1->format("D")!="Sun" && $datetime1->format("D")!="Sat")
{
    $datetime2 = new DateTime('2017-03-12 10:43:37');
    $interval = $datetime1->diff($datetime2);
    echo $interval->format('%H:%I:%s');
}

【讨论】:

  • 我喜欢它.......亲爱的,你真聪明,$interval->format('%d %H:%I:%s') ;会更有帮助请编辑和更新代码
  • 你的回答很有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-13
  • 2016-12-17
  • 1970-01-01
  • 2014-05-04
相关资源
最近更新 更多