【发布时间】:2026-02-19 18:25:02
【问题描述】:
我的 SQL 中有一个字段。示例:
field : expireddate type : varchar (10)
它将包含诸如 $expireddate = 31/08/2014 之类的数据,我会将其与今天的日期进行比较
$today = date("d/m/Y");
if ($query['expireddate']<$today){
echo 'expired date';
}
else
{
echo 'uptodate';
}
但它不起作用。我试图将字符串转换为日期:
$expireddate=strtotime('d/m/Y','$query[expireddate]')
但它仍然无法正常工作。
有什么建议吗?
【问题讨论】:
-
当然这是行不通的,因为字符串是从左到右逐个字符比较的,而
dd/mm/yyyy在这方面不是一种“可排序”的格式——你需要像@这样的东西987654325@。但是最好不要首先将日期存储为文本,而是使用您的 DBMS 提供的指定类型之一……然后已经在查询中进行比较,而不是之后在(看起来像)PHP 中进行比较。