Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php TIMESTAMPDIFF适用于日,但不适用于分钟_Php_Mysql_Timestamp - Fatal编程技术网

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');。你认为这能做同样的事情吗?