[英]How i can Check That a user cannot enter time hours more than 8 hours in php
[英]How can I check if the time is more than an hour later?
所以我有一个更新yyyy-mm-dd hh:mm:ss
的日期/时间的数据库条目。
现在我想检查一下,数据库和 60 分钟的实际时间之间是否有空格。 我怎样才能做到这一点?
例子:
DB: 2020-02-14 10:00:00
Time now: 2020-02-14 11:01:00
Do something
DB: 2020-02-14 10:00:00
Time now: 2020-02-14 10:59:00
Do nothing
你可以使用这样的东西:
$t1 = strtotime( '2006-04-14 11:30:00' );
$t2 = strtotime( '2006-04-12 12:30:00' );
$diff = round(($t1 - $t2) / 3600);
在 MySQL 中,您可以进行日期运算:
update mytable
set mydatetime = now()
where mydatetime <= now() - interval 1 hour and id = ?
where
子句过滤列mydatetime
超过一小时的记录。 你没有告诉你想要做什么,所以我假设了一个更新查询,它将日期/时间重置为当前日期/时间。
这假设您要更新给定记录的时间戳,而不是跨整个表,因此条件id = ?
,您可以针对您的用例进行调整或删除。
你好 Schmaniel 首先我认为你应该使用 Carbon() https://carbon.nesbot.com/docs/来获得正确的结果。 这是处理时间格式和时间戳的好方法。
$now = Carbon::now(); $dbtime = Carbon::createFromFormat('Ymd H:i:s', '1975-05-21 22:10:22'); $totalDuration = $now->diffForHumans($dbtime); dd($totalDuration);
$currentDate = new DateTime();
$databaseDate = new DateTime($dateFromDatabase);
$interval = $datetime1->diff($datetime2);
然后你可以检查使用 $interval 变量
您可以像这样使用 mysql TIMESTAMPDIFF :
SELECT TIMESTAMPDIFF(HOUR,'2003-02-01','2003-05-01 12:05:55');
您可以使用以下单位之一:
MICROSECOND(微秒)、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER 或 YEAR。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.