开发者

Make an hour into timestamp

How can I make a time, for example 09, to a UNIX timestamp? I tried strtotime() but unsuccessfully. strt开发者_StackOverflowotime("9") returns nothing.

Edit:

It's my fault that I didn't mention before but I'm trying to check if current time + 30 minutes is bigger or equal to time, saved in a mysql DB. I save time in DB as 09, for example (probably there's my mistake).


Try 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


While both answers so far are probably better, I thought I'd offer a "cute" solution that still uses strtotime():

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

Demo: http://codepad.org/k9U4BiKN


The additional information you provided in the edit clarifies one or two things. Generating a timestamp for comparison probably won't do much good if the database value is a string representing the hour. In this case, you can just as well compare the hour values as numbers:

// 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))

If the database hour values are between 0 and 23, the comparison will of course always return true between 22:30 and 23:29.

Note: Had the MySQL table field been a timestamp field, you could get just the hour part with "SELECT EXTRACT(HOUR FROM your_field) AS db_hour FROM your_table;"

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_extract

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜