php - 计算出勤时间戳2

标签 php mysql date datetime

关于如何在 MySQL 中计算出勤 datetime 的任何想法。

例如:我想获得一个人一天工作的总小时数。在给定的情况下。

MySQL 结构:

-----------------------------------------------------
id   |   datetime         |   Status    |  employeeID
-----------------------------------------------------
1    | 18-Feb-13 8:00:00  |  Check in   |    100A
2    | 18-Feb-13 10:00:00 |  Check in   |    100A
3    | 18-Feb-13 17:00:00 |  Check Out   |    100A

除去中午 12:00 的休息时间,总时数仍然是 8 小时。

最佳答案

这是一种计算日期的 PHP 方法:

$datetime1 = DateTime::createFromFormat('d-M-Y G:i:s', '18-Feb-13 8:00:00');
$datetime2 = DateTime::createFromFormat('d-M-Y G:i:s', '18-Feb-13 17:00:00');
$interval = $datetime1->diff($datetime2);
$elapsed = $interval->format('%h hours %i minutes %S seconds');
echo $elapsed;

See it in action

你需要做更多的数学来处理休息,但这应该让你开始。

引用

关于php - 计算出勤时间戳2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14949105/

相关文章:

php - 如何在PHP中检测手机和平板电脑

MySQL bigInt 与 JSON 模式整数

MySql Cursor - 创建过程

JavaScript - 两个时间字符串之间的区别

javascript - Intl.DateTimeFormat 返回超过 24 小时的时间

c++ - JNI 日期值转换问题,在 C++ 中获取不同的 long 值

php - 为 PHP echo 计算并显示不同列中的多个 mysql 行值

javascript - 无法将 php 变量作为参数传递给 javascript 函数

php - 如何使用 codeigniter 存储图像并从文件夹中检索图像?

php - 如何正确地将 HTML 链接标记作为条目发送到数据库?