Php 比较工作时间
我正在创建一个HTML表,它以两种不同的方式显示员工的时间分配。第一种方法是ajax更新的队列,它显示当前员工的位置,这已经完成 第二种类型是用户可以输入过去“分配”的表单。现在,因为我的业务是全天候的,所以我决定将所有时间作为日期时间存储在mysql中,这样我就可以得到以下区别:Php 比较工作时间,php,html,mysql,Php,Html,Mysql,我正在创建一个HTML表,它以两种不同的方式显示员工的时间分配。第一种方法是ajax更新的队列,它显示当前员工的位置,这已经完成 第二种类型是用户可以输入过去“分配”的表单。现在,因为我的业务是全天候的,所以我决定将所有时间作为日期时间存储在mysql中,这样我就可以得到以下区别: 2013-04-11 21:59:29和2013-04-12 01:52:29 以下是正在填写的表格: <form action="mafs.php" method="post" id="form1" nam
2013-04-11 21:59:29
和2013-04-12 01:52:29
以下是正在填写的表格:
<form action="mafs.php" method="post" id="form1" name="form1" class="">
<table id="tbl_past_allocation">
<tr>
<td class="txt-right" style="font-size:11px;">Employee Name</td>
<td ><input placeholder=" John Doe" style="width:100px; border-radius:10px;" type="text" name="peename" id="peename" /></td>
</tr>
<tr>
<td class="txt-right" style="font-size:11px;">Home Department</td>
<td> <select style="width:140px; border-radius:10px;" name="phomedept">
<option value="select">Select Department</option></center>
<option value="ADC/NFC Shipping Department">ADC/NFC Shipping Department</option>
<option value="Administration">Administration</option>
<option value="Receiving Department">Receiving Department</option>
<option value="Cable">Cable Department</option>
<option value="Department">CPM Department</option>
<option value="Dispatch Clerk">Dispatch Clerk</option>
</select></td>
</tr>
<tr>
<td class="txt-right" style="font-size:11px;">Sent to Department</td>
<td> <select style="width:140px; border-radius:10px;" name="psentdept">
<option value="select">Select Department</option></center>
<option value="ADC/NFC Shipping Department">ADC/NFC Shipping Department</option>
<option value="Administration">Administration</option>
<option value="BP Receiving Department">BP Receiving Department</option>
<option value="Cable Department">Cable Department</option>
<option value="CPM Department">CPM Department</option>
<option value="Dispatch Clerk">Dispatch Clerk</option>
<option value="Inventory Control Department">Inventory Control Department</option>
<option value="IRM Shipping Department">IRM Shipping Department</option>
<option value="Kitting Department">Kitting Department</option>
<option value="Lead">Lead</option>
<option value="LSC Receiving Department">LSC Receiving Department</option>
<option value="LSC Shipping Department">LSC Shipping Department</option>
<option value="NAR E&O Department">NAR E & O Department</option>
<option value="Non-Conformance Department">Non-Conformance Department</option>
<option value="Performance Department">Performance Department</option>
<option value="Quality Auditors">Quality Auditors</option>
<option value="Quality Department">Quality Department</option>
<option value="Returns Department">Returns Department</option>
<option value="Software Department">Software Department</option>
<option value="Special Ops Team">Special Ops Team</option>
<option value="Supervisors">Supervisors</option>
<option value="Training/Meetings/Projects">Training/Meetings/Projects</option>
</select></td>
</tr>
<tr>
<td class="txt-right" style="font-size:11px;">Time Sent</td>
<td ><input placeholder=" mm-dd-yy hh:mm:ss" style="width:140px; border-radius:10px;" type="text" name="ptimesent" id="ptimesent" /></td>
</tr>
<tr>
<td class="txt-right" style="font-size:11px;">Time Returned</td>
<td ><input placeholder=" mm-dd-yy hh:mm:ss" style="width:140px; border-radius:10px;" type="text" name="ptimereturned" id="ptimereturn" /></td>
</tr>
</table>
<!--tbl_equipment_details closed-->
<div>
<input class="button" value="Submit Record" name="pastadd" type="submit" style="width:300px; cursor:pointer; margin-top:5px;">
</div>
</form>
员工姓名
内政部
选择部门
ADC/NFC航运部
管理
接收部门
有线电视部
CPM部
调度员
发送到部门
选择部门
ADC/NFC航运部
管理
英国石油公司接收部
有线电视部
CPM部
调度员
盘存控制部
航运部
装备部
领导
LSC接收部门
LSC航运部
NAR E&O部
不符合部门
表演部
质量审计员
质量部
退货部
软件部
特别行动队
主管
培训/会议/项目
发送的时间
时光倒流
关于这件事,我遇到了一些不同的问题
我认为单独的输入是最用户友好、最不容易出错的,因为它们都是选择框。然后将这些值合并在一起,对我个人来说,将它们转换为时间戳。时间戳也是全天候兼容的。:) 我总是使用unix时间戳来保存我的gmt日期。然后比较它们,这是简单的数学
<?php
//
// Some comparison stuff
//
// 1 day = 86400 seconds
// mktime returns a unix timestamp.
$date1 = mktime(0, 0, 0, 1, 1, 2013); // Jan. 1st, 2013
$date2 = mktime(0, 0, 0, 1, 15, 2013); // Jan. 15th, 2013
// Get the difference
$diff = ($date2 / 86400) - ($date1 / 86400); // 14
echo $diff;
//
// Some conversion stuff
//
// Use mktime([$hour, $min, $sec, $mon, $day, $year]) if you have
// a specific date you want converted into a timestamp, else use
// time(), which is the current timestamp.
//
// Convert to human readable format
//
$datetime = date("H:i:sa - M jS, Y", $timestamp); // $timestamp optional
echo $datetime; // e.g. 4:23:46pm - Jan 1st, 2013
?>
如果我做了任何不正确的假设,请不要犹豫纠正我。
谢谢 您的应用程序是否需要关注不同的时区?请使用日期选择器和时间选择器,这样您的用户就不会在输入信息时遇到太多麻烦。jQueryUI提供了日期选择器,至于时间选择器,我相信互联网上有很多。时区不是一个因素。我会尝试一下。感谢您的回复。这还允许您将保存时间戳的字段设置为整数类型,默认的“int”使用了一半的存储大小,4字节,而datetime为8字节。虽然时间戳数据类型也只有4字节,但这实际上归结为程序员偏好/比较困难。
The TIMESTAMP data type is used for values that contain both date and time parts.
TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.