PHP-日期比较建议
编辑:感谢您的回复,使用人们在这里提出的建议,我也浏览了与我相同的帖子,那里也有一些很好的建议,但我刚刚创建了另一个,因为我怀疑我的整个代码都不好,需要一些指针,我现在可以使用了,并将在下面分享我使用的代码:PHP-日期比较建议,php,Php,编辑:感谢您的回复,使用人们在这里提出的建议,我也浏览了与我相同的帖子,那里也有一些很好的建议,但我刚刚创建了另一个,因为我怀疑我的整个代码都不好,需要一些指针,我现在可以使用了,并将在下面分享我使用的代码: $today = date("d-m-y"); $expire = $_SESSION["expiration_date"]; $today_time = strtotime($today); $expire_time = strtotime($expire); if($expire_ti
$today = date("d-m-y");
$expire = $_SESSION["expiration_date"];
$today_time = strtotime($today);
$expire_time = strtotime($expire);
if($expire_time < $today_time){
$_SESSION = array();
session_destroy();
header("location: contact_us_expired.php");
exit;
}
请保持冷静,并理解我是一个新手,这是我第一次真正尝试创建一些东西,CRUD系统似乎运行良好,但比较更加复杂。如前所述,您正在比较字符串。PHP将从左到右逐个字符进行比较,直到第一个字符让他决定您的条件是真还是假 假设
$\u会话[“日期”]=“2020年1月1日”
和$\u会话[“到期日”]=“2019年12月3日”
PHP将比较第一个字符0
,看它们是否相等。然后将1
与3
对比。由于1
小于3
,他将假定01/01/2020
小于03/12/2019
,即使它不是
将日期转换为Datetime对象是一个很好的解决方案。另一种方法是将日期字符串转换为时间戳。PHP有以下内置函数来实现这一点:
请注意,如果要使用此解决方案,则必须使用以下任一项调整日期格式:
YYYY-MM-DD
d-m-y
。然后,您的日期将被解析为您使用的欧洲格式if(strtotime($_SESSION["date"]) < strtotime($_SESSION["expiration_date"])){
$_SESSION = array();
session_destroy();
header("location: contact_us_expired.php");
exit;
}
if(strotime($\u SESSION[“date”])
if(new DateTime($\u SESSION[“date”])if(new DateTime($\u SESSION[“expiration\u date”])){
?这是一种尝试的方法,谢谢,我会写下这里给出的两种解决方案,看看是否能让它起作用,谢谢你的帮助!好的,谢谢你,我会尝试一下,我想象日期被当作一个字符串,但不知道还可以尝试什么,我一尝试就会做出反应。
$created_at = date("d/m/y");
$expiration_date = date('d/m/y', strtotime('7 days'));
if(strtotime($_SESSION["date"]) < strtotime($_SESSION["expiration_date"])){
$_SESSION = array();
session_destroy();
header("location: contact_us_expired.php");
exit;
}