将时间改为几天

时间:2010-08-07 22:30:29

标签: php mysql time

编辑问题。

我有这样的SQL:

`table1`.`DateField` >= DATE_SUB(NOW(), INTERVAL {$days} DAY  

现在24小时整整一天。但是,如果我想在最近3个小时左右进行查询怎么办?

我的table1DateField的格式为2010-03-10 10:05:50


原帖:

如果我有这个

1小时
2小时
3个小时
..
24小时

我如何将其更改为几天?

感谢。

3 个答案:

答案 0 :(得分:5)

$hours = 80;
$hid = 24; // Hours in a day - could be 24, 8, etc
$days = round($hours/$hid);

if( $days < 0 )
{
        echo "$hours hours";
}
else
{
        echo "$days days";
}

如果小于1天,则假设您需要小时数。如果不是只是取下开关。

答案 1 :(得分:1)

简单如下:

  • 如果您想将这些小时的总数转换为白天: 只需总计小时数,总数必须除以24

    (1 + 2 + 3 + 5)/ 24

  • 如果您想将所有这些小时数转换为天数: 在列表中每小时除以24

    (1/24)(2/24)(3/24)(5/24)

答案 2 :(得分:1)

MySQL不仅知道DAY作为间隔的单位,还知道HOURMINUTE,.... 见http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add

$x = 32;
$sql = "SELECT
   x,y,z
 FROM
   foo
 WHERE
   `table1`.`DateField` >= NOW() - INTERVAL $x HOUR
";
相关问题