Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我可以比较像数字这样的字符串中的两个日期吗?或者我应该将它们重新输入为整数?
这段代码可以吗?
<?php $date1 = "20130102"; $date2 = "20151012"; if ($date1 < $date2){ echo "date1 < date2"; } elseif ($date1 > $date2){ echo "date1 > date2"; } else { echo "date1 = date2"; } ?>
在以下条件下,您的代码是安全且正确的:如果您的日期格式类似于 Ymd(根据 php 的日期函数)
这样做的原因是,在我可以想象的所有字符集中,字符 0-9 的排序与数字 0-9 的排序完全相同。如果你然后使用前导 0,你的字符串排序就像数字一样。
请注意,使用字符串作为日期的数据类型是一种代码异味。见此页(第 7 期)