我環顧四周,沒有看到與我的數據庫佈局相當的工作。基本上我需要抽出當前時間和預定事件時間,並查看當前時間是否是事件時間前10分鐘。這是我的測試文件,它將當前時間獲取到變量中,然後從數據庫表中抽取eventTime,將事件時間設置爲變量,從事件時間中減去當前時間,並打印差異。問題是我需要分鐘數,而且只是打印小時數。PHP在幾分鐘內獲得時間差異
例如,11:00 - 9:15給了我1,我需要它說105(分鐘數),我真的看了全部,並且找不到任何不會涉及改變數據庫結構。
在以小時和分鐘前24小時13:01格式的數據庫存儲的事件時間,和當前時間是使用日期(「H:I」)中在PHP相同的格式設定
這裏的一些測試代碼,包含dbconnect.php就是我如何連接到我的數據庫。
感謝您提供的任何幫助!
<?php
include 'dbconnect.php';
$the_time = date('H:i');
echo $the_time." </br></br>";
$sql="SELECT eventTime FROM events";
$result=$conn->query($sql);
while ($row = $result->fetch_assoc()) {
$new_time=$row['eventTime'];
echo $new_time."New Time</br>";
echo $the_time-$new_time."The Difference</br></br>";
}
?>
感謝Gamster Katalin和John Conde已經解決了。這裏的工作代碼:
<?php
include 'dbconnect.php';
date_default_timezone_set('America/New_York');
$the_time = date('H:i');
echo $the_time." </br></br>";
$sql="SELECT eventTime FROM events";
$result=$conn->query($sql);
while ($row = $result->fetch_assoc()) {
$new_time=$row['eventTime'];
echo $new_time."New Time</br>";
$datetime1 = new DateTime($the_time);
$datetime2 = new DateTime($new_time);
$interval = $datetime1->diff($datetime2);
$hours=$interval->format('%h');
$minutes= $interval->format('%i');
echo $hours." The Difference in Hours</br>".$minutes." The Difference in Minutes</br></br>";
}
?>
使用PHP的DateTime :: sub然後DateTime :: format – ioanb7 2013-04-28 18:01:07
也許我誤解了一些東西,但我的時間格式似乎不允許我這樣做,我將如何將存儲在數據庫中的時間作爲varchar轉換爲某些東西(據我所知,自1970年以來的秒數),我可以使用這些函數? – salty 2013-04-28 18:06:21
將DateTime :: setTime與您的值一起使用。如果你想要現在的時間,只需'new DateTime('now')'。之後,您可以使用DateTime :: format將其轉換回您的格式。 – ioanb7 2013-04-28 18:09:36