sal*_*lty 1 php date date-math
我环顾四周,发现没有任何东西适合我的数据库布局。基本上,我需要获取当前时间和预定的事件时间,并查看当前时间是否比事件时间早 10 分钟。这是我的测试文件,它将当前时间获取到变量中,然后从数据库表中提取 eventTime,将事件时间设置为变量,从事件时间中减去当前时间,然后打印差值。问题是我需要分钟,而它只打印小时。
例如,11:00 - 9:15 给了我 1,而我需要它说 105(分钟数),我真的查遍了,找不到任何不涉及更改数据库结构的内容。
数据库以 24 小时格式存储事件时间,以小时和分钟为单位,例如 13:01,当前时间在 php 中使用 date("H:i") 以相同的格式设置
这是一些测试代码,include 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>";
}
?>
Run Code Online (Sandbox Code Playgroud)
感谢 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>";
}
?>
Run Code Online (Sandbox Code Playgroud)
$datetime1 = new DateTime();
$datetime2 = new DateTime($row['eventTime']);
$interval = $datetime1->diff($datetime2);
$elapsed = $interval->format('%i minutes');
echo $elapsed;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24097 次 |
最近记录: |