Php TIMESTAMPDIFF适用于日,但不适用于分钟
我的查询有一个问题,即使我现在发布帖子,时间戳也是如此 不适用于分钟。但如果我把它放在一天或一个月的时间里,我真的不知道问题出在哪里。我有比秒更新的帖子。 如果您有任何帮助,我们将不胜感激Php TIMESTAMPDIFF适用于日,但不适用于分钟,php,mysql,timestamp,Php,Mysql,Timestamp,我的查询有一个问题,即使我现在发布帖子,时间戳也是如此 不适用于分钟。但如果我把它放在一天或一个月的时间里,我真的不知道问题出在哪里。我有比秒更新的帖子。 如果您有任何帮助,我们将不胜感激 SELECT h2s_job.job_id, h2s_job.job_title, h2s_job.job_description, h2s_job.job_category, h2s_job.wantORoffering, h2s_job
SELECT h2s_job.job_id,
h2s_job.job_title,
h2s_job.job_description,
h2s_job.job_category,
h2s_job.wantORoffering,
h2s_job.address,
h2s_job.cell,
h2s_job.email,
h2s_job.date_registered,
h2s_ad_info.date_registered,
h2s_job.user_id
FROM h2s_job
INNER JOIN h2s_ad_info ON h2s_job.user_id=h2s_ad_info.user_id
WHERE TIMESTAMPDIFF(MINUTE,h2s_ad_info.date_registered ,NOW())<1
选择h2s\u job.job\u id,
h2s_job.job_title,
h2s作业。作业描述,
硫化氢作业。作业类别,
h2s_job.wantORoffering,
你的工作地址,
h2s_作业单元,
h2s_job.email,
h2s\u作业日期\u注册日期,
h2s\u广告信息。注册日期,
h2s\u作业。用户\u id
从你的工作
关于h2s\u作业的内部连接h2s\u广告信息。用户\u id=h2s\u广告信息。用户\u id
其中TIMESTAMPDIFF(MINUTE,h2s\u ad\u info.date\u registed,NOW())我假设date\u registed
是时间戳
或DATETIME
。如果是,您可以这样做:
where NOW() - SECOND(h2s_ad_info.date_registered) < 1
where NOW()-秒(注册日期)<1
试试这个
"SELECT TIMESTAMPDIFF(MINUTE, h2s_ad_info.date_registered, now()),
h2s_job.job_id,
h2s_job.job_title,
h2s_job.job_description,
h2s_job.job_category,
h2s_job.wantORoffering,
h2s_job.address,h2s_job.cell,
h2s_job.email,
h2s_job.date_registered,
h2s_job.user_id
From h2s_job
INNER JOIN h2s_ad_info
ON h2s_job.user_id=h2s_ad_info.user_id
where (TIMESTAMPDIFF(MINUTE, h2s_ad_info.date_registered, now()) < 1)";
“选择TIMESTAMPDIFF(分钟,时间信息。日期注册,现在()),
h2s作业。作业id,
h2s_job.job_title,
h2s作业。作业描述,
硫化氢作业。作业类别,
h2s_job.wantORoffering,
硫化氢作业单元地址,硫化氢作业单元,
h2s_job.email,
h2s\u作业日期\u注册日期,
h2s\u作业。用户\u id
从你的工作
内部连接\u广告\u信息
在h2s\u作业上。用户\u id=h2s\u广告\u信息。用户\u id
其中(TIMESTAMPDIFF(分钟,h2s_ad_info.date_注册,now())<1)”;
这可能对您有所帮助。我发现了您的问题:它从您插入时间的点开始:转到您的数据库,使date\u registered数据类型成为datetime:然后使用下面的函数并使用$date\u registered在您的数据库中插入:更改国家和城市以获得正确的时间,因为这是您获得数据的地方问题:我确信你的系统上的时间不一样,这就是为什么。因此,瞄准你的国家和城市
<?php
# function to get right time
date_default_timezone_set('Africa/Johannesburg');
function time_diff_conv($start, $s)
{
$string="";
$t = array( //suffixes
'd' => 86400,
'h' => 3600,
'm' => 60,
);
$s = abs($s - $start);
foreach($t as $key => &$val) {
$$key = floor($s/$val);
$s -= ($$key*$val);
$string .= ($$key==0) ? '' : $$key . "$key ";
}
return $string . $s. 's';
}
date_registered = date('Y-m-d H:i:s');
# use this if u wanna show day friday like that date('l jS \of F Y \a\t h:i:s A')."\n";
# function to get right time
?>
是的,你是对的:但是现在我尝试了你给我的东西仍然没有成功对不起,你可能需要做第二步(现在()
您的答案与我的答案一模一样:我感谢您的努力,但我认为我们现在必须找出我应该在db中使用的最佳数据类型,因为我在另一个页面中使用了它,它可以正常工作,但该页面有一部分现在更新()但我没有它,我使用php将time@humphrey,不明白兄弟你想说什么?我的意思是你的代码没有解决我的问题,但它是有效的:我假设冲突发生在我的日期列Look$update=(“更新站点\用户集dateupdated=now()”)的数据类型上;我更新了日期字段,就像在分钟代码工作的页面中一样,但现在我使用$date_registed=date('y-m-d h:I:sa');。你认为这能做同样的事情吗?