【发布时间】:2018-01-15 13:59:01
【问题描述】:
我正在尝试在 mysql 字段中记录时差,当我在屏幕上尝试时,值是正确的。将字段提交到数据库后,该字段为空。 我哪里错了? 该字段在 mysql 中声明为时间戳,格式为 current_timestamp。 代码:
$strStart = date("Y-m-d H:i:s");
sleep(5);
$strEnd = date("Y-m-d H:i:s");
$dteStart = new DateTime($strStart);
$dteEnd = new DateTime($strEnd);
$dteDiff = $dteStart->diff($dteEnd);
//$calc = $dteDiff->format("YYYY-%M-%D %H:%I:%S");
$calc = $dteDiff->format("%Y%Y-%M-%D %H:%I:%S");
echo "Difference: " . $calc;
我正在向数据库提交 $calc。
【问题讨论】:
-
您没有在您显示的代码中将任何内容放入数据库中。而你
echo的结果是什么,是你需要的吗? -
两个时间戳之间的差异不是日期/时间....日期/时间代表一个固定的时间点,而不是一段时间或一段时间。
-
您在 db 表中插入数据的列是什么类型的?
-
这是一个时间戳字段,我的更新代码是: $conn->query("INSERT INTO refTrackLogs (refTrackId, refPointId, name, floorId, refType, latitude, longitude, logtime) VALUES (' $data[id]', $bpoint, '$b[label]', '$b[floor]', 'calculated', '$b[latitude]', '$b[longitude]', '$calc' )");
-
我可以将不同的日期和时间设为合法的日期和时间吗?