如何在PHP中使用timespan?

如何在PHP中使用timespan?,php,mysql,datetime,time,timespan,Php,Mysql,Datetime,Time,Timespan,我有两个字段要填充:每15分钟和每小时调用页面的次数 以下字段是MySql中的DateTime: $lastAccess15m=$row['lastAccess15m']; $lastAccessHour=$row['lastAccessHour']; 这些字段是整数: $accessPer15m=$row['accessPer15m']; $accessPerHour=$row['accessPerHour']; 我想将当前时间与$lastAccess15进行比较,如果时间距离大于15分钟

我有两个字段要填充:每15分钟和每小时调用页面的次数

以下字段是MySql中的DateTime:

$lastAccess15m=$row['lastAccess15m'];
$lastAccessHour=$row['lastAccessHour'];
这些字段是整数:

$accessPer15m=$row['accessPer15m'];
$accessPerHour=$row['accessPerHour'];
我想将当前时间与
$lastAccess15
进行比较,如果时间距离大于15分钟,请将
$lastAccess15
的值设置为当前时间,并重置
$accessPer15m
,否则,增加
$accessPer15m
。这同样适用于
$lastAccessHour
$accessPerHour
,之后这些值必须保存到mysql数据库


如何获取当前时间和$accessPer15m之间的时间跨度(以分钟/小时为单位)?

在SQL中,还选择
NOW()作为当前时间戳(以及其他选择)

在PHP中:

if ((strtotime($row['current_timestamp']) - strtotime($row['lastAccess15m'])) > 900) {

 // your code 
}

strotime
将时间戳转换为秒,然后您可以将时间差与900秒进行比较。(15分钟)。

在SQL中也选择
NOW()作为当前时间戳(以及其他选择)

在PHP中:

if ((strtotime($row['current_timestamp']) - strtotime($row['lastAccess15m'])) > 900) {

 // your code 
}
strotime
将时间戳转换为秒,然后您可以将时间差与900秒进行比较。(15分钟)。

返回自Unix纪元(1970年1月1日00:00:00 GMT)以来以秒为单位测量的当前时间

:

DATETIME类型用于同时包含日期和时间部分的值。MySQL以“YYYY-MM-DD HH:MM:SS”格式检索并显示日期时间值。支持的范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59”

要比较两者,您需要转换其中一个并执行比较:

$phpDateFromMysql = strtotime( $mysqldate );

$mySqlDateFromPHP = date('Y-m-d H:i:s', $phpdate);
最简单的方法是将Mysql值转换为time()并执行比较:

$phpDateFromMysql = strtotime( $mysqldate );

$mySqlDateFromPHP = date('Y-m-d H:i:s', $phpdate);
看这个


注意:
if
语句中,您可以执行剩余的操作,甚至可以添加
else
子句,在时间不超过15分钟的情况下执行某些操作(如您所指的增量)


相关阅读材料:

PHP函数

PHP函数

PHP控件结构

返回自Unix纪元(1970年1月1日00:00:00 GMT)以来以秒为单位测量的当前时间

:

DATETIME类型用于同时包含日期和时间部分的值。MySQL以“YYYY-MM-DD HH:MM:SS”格式检索并显示日期时间值。支持的范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59”

要比较两者,您需要转换其中一个并执行比较:

$phpDateFromMysql = strtotime( $mysqldate );

$mySqlDateFromPHP = date('Y-m-d H:i:s', $phpdate);
最简单的方法是将Mysql值转换为time()并执行比较:

$phpDateFromMysql = strtotime( $mysqldate );

$mySqlDateFromPHP = date('Y-m-d H:i:s', $phpdate);
看这个


注意:
if
语句中,您可以执行剩余的操作,甚至可以添加
else
子句,在时间不超过15分钟的情况下执行某些操作(如您所指的增量)


相关阅读材料:

PHP函数

PHP函数


PHP控件结构

您是否至少尝试过使用@lanzz的可能副本?如果可能,我希望完全使用PHP。我正在处理的表中有很多列,我正在使用select*from….选择它们。。。。;如果我使用select timediff(…)作为
oeu
,。。。。我觉得那会导致一个相当丑陋的结局code@serentei:timespan介于两个时间之间意味着两个时间之间的差异?@Suresh是的,这就是我的意思至少你试过了吗?可能是@lanzz的副本,如果可能的话,我想完全用PHP来实现。我正在处理的表中有很多列,我正在使用select*from….选择它们。。。。;如果我使用select timediff(…)作为
oeu
,。。。。我觉得那会导致一个相当丑陋的结局code@serentei:timespan介于两个时间之间意味着时间之间的差异?@Suresh是的,这就是我的意思。要在PHP中获取以秒为单位的当前时间,您可以调用
time()
-无需在SQL中这样做,只需将其获取到PHP。PHP time()的当前时间和SQL条目上的值可能不相同?特别是当php文件连接到远程SQL时。通过在SQL中使用NOW(),您使用的时间范围与“lastAccess15m”字段中使用的时间范围相同。(我想至少是这样)。要在PHP中获取以秒为单位的当前时间,可以调用
time()
-无需在SQL中这样做,只需将其获取到PHP。PHP time()的当前时间和SQL条目上的值可能不相同?特别是当php文件连接到远程SQL时。通过在SQL中使用NOW(),您使用的时间范围与“lastAccess15m”字段中使用的时间范围相同。(至少我这样认为)。