【发布时间】:2019-01-13 23:26:25
【问题描述】:
我真的不明白如何在 PHP 中格式化日期和时间以用于数学方程式。我的目标是这个;
从数据库中获取日期和时间;
// Get array for times in
$sth = mysqli_query($conn,"SELECT * FROM ledger ORDER BY ID");
$timeins = array();
while($r = mysqli_fetch_assoc($sth)) {
$timeins[] = $r["timein"];
//OR
array_push($timeins, $r['timein']);
}
然后求当前时间与数组中的变量$timeins[0]之间的距离,然后将分钟、小时、天的差分别放在单独的简单变量中,以备后用。这些变量将在 if 语句中单独使用,以确定此人是否已经过了一定的时间。
编辑:从数据库返回的日期格式是 MySQL 的默认 TIMESTAMP 格式。例如。 2018-08-06 17:38:37。
【问题讨论】:
-
您不能只对日期进行数学运算并期望事情能够奏效。即使是像夏令时这样简单的事情也会导致你的代码在一个小时内做一些奇怪的事情,但最坏的情况是会让你的服务器崩溃。为此请使用一个库,该库是由那些花费数年时间确保日期数学确实符合预期的人编写的。
-
您必须知道从数据库返回的格式,然后您可以使用 DateTime 类进行操作,请参阅此处的文档:php.net/manual/en/datetime.createfromformat.php
-
这些答案之一是否解决了您的问题?如果是这样,请将其标记为已接受,以便其他用户可以找到它。如果不是,请添加一些信息以帮助解决问题。见stackoverflow.com/help/someone-answers