好的,我在MySQL TEXT字段中存储日期/时间。我希望能够检查存储在数据库中的日期是否距离当前日期/时间至少48小时。这是一些代码:
<?php
date_default_timezone_set("America/New_York");
$dtformat = "F jS, Y - g:i A";
$datetime = date($dtformat);
?>
$ datetime的值发送到MySQL并放在TEXT列中,我会使用MySQL DATETIME,但时区需要不同,具体取决于用户位置。所以我想我会用PHP制作我的时间戳。示例输出为January 11th, 2011 - 6:24 PM
如何在PHP中获取当前日期/时间并查看我的时间戳January 11th, 2011 - 6:24 PM
是否至少48小时?
由于
答案 0 :(得分:4)
首先,您应该将数据和时间存储在相应的timestamp
字段中,不存储在文本字段中。
继续...... 您可以比较这样的日期:
if(strtotime($dateFromDatabase." + 48 hours") <= strtotime("now")) {
//It's at least 48 hours old, do your stuff
}
答案 1 :(得分:1)
我会使用MySQL DATETIME,但时区需要不同,具体取决于用户位置“
所以使用mysql timestamp
日期类型,它是为特殊目的而设计的。
http://dev.mysql.com/doc/refman/5.1/en/timestamp.html
我认为没有任何理由继续遵循当前可怕的解决方案。更好地重写代码以使用timestamp
。
答案 2 :(得分:1)
<?php
date_default_timezone_set("America/New_York");
$dtformat = "F jS, Y - g:i A";
$datetime = date($dtformat);
$i_datetime = strtotime($datetime);
$i_48_hours = strtotime('now -48 hours');
if ($i_datetime < $i_48_hours)
{
echo "The date $datetime is older than 48 hours old.";
}
?>