Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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中的日期时间格式检查_Php_Mysql_Datetime - Fatal编程技术网

php中的日期时间格式检查

php中的日期时间格式检查,php,mysql,datetime,Php,Mysql,Datetime,我如何检查数据库中的拍卖是否过期?我相信MySQL中有一个datetime列的格式如下:YYY-MM-DD hh:MM:ss。如果是这种情况,以下检查是否有效-即,希望仅从数据库中的表中选择过期拍卖 <?php //Some code $auctioncheck = mysql_query(" SELECT * FROM auction WHERE ($date_time > finish_time) "); ?> 而“完成时间”是上述格式数据库中的一

我如何检查数据库中的拍卖是否过期?我相信MySQL中有一个datetime列的格式如下:YYY-MM-DD hh:MM:ss。如果是这种情况,以下检查是否有效-即,希望仅从数据库中的表中选择过期拍卖

<?php

//Some code    

$auctioncheck = mysql_query("

 SELECT * FROM auction WHERE ($date_time > finish_time)

");

?>

而“完成时间”是上述格式数据库中的一列。假设这是可行的,那么我如何将当前日期转换成相同的格式呢?如果有人知道的话,我会非常感激的,干杯。如果上面的查询不起作用,而且还需要其他东西,情况就更糟了。再次感谢

哦,当然,我会定义日期时间变量,从这个解决方案开始:

// to show both date and time,
$date->get('YYYY-MM-dd HH:mm:ss');

// or, to show date only
$date->get('YYYY-MM-dd') 
来自本帖:

还有另一个解决方案:

要在php中实现这一点:

该功能是为它而设计的:

// Get the current date
$date_time = date("y-m-d H:i:s");
查看文档页面以查看其他格式标志;)

您可以使用

<?php

//Some code    
$date_time=strtotime($date_time);
$auctioncheck = mysql_query("

SELECT * FROM auction WHERE ( $date_time > UNIX_TIMESTAMP(finish_time))

");

?>


您确实需要
$date\u time
变量吗?最简单的方法是
SELECT*FROM auction WHERE finish\u time
。这样您就可以得到结果,而不必从PHP设置日期。

可以粘贴
$date\u time
的值吗?很抱歉,我还没有测试它。因为我不确定如何生成$date\u time(当前时间)作为开始。有什么想法吗?在SO.HS上有很多类似的问题:别忘了对mysql请求中包含的每个变量使用mysqli_real_escape_string()来保护您的请求,以防止mysql注入非常感谢,我将在此基础上查看查询是否有效。你有预感吗?我的意思是,你通常可以通过使用“>”看到哪两个日期是“大的”(最近的)。在你的大于号旁边,你需要以相同的格式进行比较。如果我的解决方案适合您,请接受。unneccessary使用Zend框架只获取日期,PHP的本机函数就足够了;)我给了另一个选择:)你知道为什么时间提前一个小时吗?时区当然是。我需要修补什么?我已经使用了它,但显示的时间是1小时,比显示的时间提前了1小时。造成差异的原因可能是什么?这将为您提供服务器时区内的时间。也许你的本地时间不同。请注意,如果您比较时间,您必须比较同一时区的时间。我建议您使用数据库服务器的时区。这是一个常见的问题,有着常见的答案,至少我已经足够诚实地将问到stack overflow中其他帖子的人推荐给他,而不是假装是某个“大师”,如果我仔细看的话,我会发现您只是简单地复制和粘贴了。为什么要如此努力地破坏别人的努力呢?我不是那个催促海报接受我的答案的人,而是那个不断编辑答案让其他人知道的人。很抱歉让您失望,但是我非常理解日期的简单格式字符串语法,所以不,我不需要复制/粘贴任何内容;)我希望这将适用于我们发送到查询的任何日期格式