使用PHP中的日期,多少小时是日期/时间戳?

时间:2011-01-12 01:16:49

标签: php datetime date

好的,我在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小时?

由于

3 个答案:

答案 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.";
}
?>