Сделать час на отметку времени - PullRequest
1 голос
/ 18 июня 2011

Как я могу сделать время, например 09, меткой времени UNIX?Я пытался strtotime(), но безуспешно.strtotime("9") ничего не возвращает.

Редактировать :
Это моя ошибка, о которой я раньше не упоминал, но я пытаюсь проверить, больше или равно текущее время + 30 минутвремя, сохраненное в базе данных MySQL.Например, я сохраняю время в БД как 09 (возможно, в этом моя ошибка).

Ответы [ 3 ]

2 голосов
/ 18 июня 2011

Хотя оба ответа, вероятно, лучше, я подумал, что предложу "симпатичное" решение, которое все еще использует strtotime():

$hour = "09";
echo strtotime("Today $hour:00");

Демо: http://codepad.org/k9U4BiKN

2 голосов
/ 18 июня 2011

Попробуйте mktime

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

http://php.net/manual/en/function.mktime.php

1 голос
/ 19 июня 2011

Дополнительная информация, предоставленная вами в редакторе, разъясняет одну или две вещи.Генерация временной метки для сравнения, вероятно, не принесет много пользы, если значением базы данных является строка, представляющая час.В этом случае вы также можете сравнивать значения часов в виде чисел:

// Value from database
$db_hour = '09';

// Hour 30 minutes from now
$compare_hour = date('H', strtotime('+30 minutes'));

// Check if current time + 30 minutes is bigger
if (intval($compare_hour) >= intval($db_hour))

Если значения часов в базе данных находятся в диапазоне от 0 до 23, сравнение всегда будет возвращать значение true между 22:30 и 23..1008 *http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_extract

...