Смена часов на дни - PullRequest
       5

Смена часов на дни

1 голос
/ 08 августа 2010

Редактирование вопроса.

У меня SQL такой:

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

Теперь 24 часа составляют целый день.Однако, что если я захочу сделать запрос за последние 3 часа или около того?

Мой table1. DateField в формате 2010-03-10 10:05:50.


Исходное сообщение:

Если у меня естьэто

1 час
2 часа
3 часа
..
24 часа

Как бы я изменил это на дни?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 08 августа 2010
$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 голос
/ 08 августа 2010

MySQL не только знает DAY как единицу для интервала, но также HOUR, MINUTE, ....
см 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
";
1 голос
/ 08 августа 2010

Просто:

  • , если вы хотите преобразовать общее количество этих часов в день: просто сложите общее количество часов, и это общее число должно быть разделено на 24

    (1 + 2 + 3 + 5) / 24

  • Если вы хотите преобразовать все эти часы в дни: просто разделите на 24 каждого часа в вашем списке

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...