2013-04-14 2 views
2

Я хотел бы сделать специальные временные метки. Мне нужно округлить минуты времени на 00 или 30. Я сделал уже есть PHP-код для этого:Временная метка с пользовательской минутой

if (date("i") >= '15' && date("i") < '45') { 
    $minute = "30"; 
} 

else { 
    $minute = "00"; 
} 

Но теперь, я хочу, чтобы сделать отметку времени с момента + дата в нем.

У кого-то есть решение для этого? Я думаю, что нужно использовать strptime, но я не знаю, как точно ..

+0

Вы проверили 'mktime()'? – BenM

ответ

3

Вы можете использовать для создания указываете ей метку времени округлены до ближайших 30 минут:

echo date('Y-m-d H:i:s', mktime(date('H'), round(date('i')/30) * 30, 0)); 

Пример здесь:

http://codepad.org/3NCeWO21

+0

Спасибо! Но как я могу преобразовать его в временную метку? –

+0

'mktime()' возвращает метку времени. Просто присвойте его переменной: '$ timestamp = mktime (date ('h'), round (date ('i')/30) * 30, 0)'. – BenM

+0

Работает отлично! Благодаря :)) –

0

следующий фрагмент кода:

<?php 
date_default_timezone_set('America/New_York'); 
$format = '%d/%m/%Y %H:%M:%S'; 
$strf = strftime($format); 

print_r(strptime($strf, $format)); 
?> 

Производит этот вывод:

Array 
(
    [tm_sec] => 49 
    [tm_min] => 48 
    [tm_hour] => 8 
    [tm_mday] => 14 
    [tm_mon] => 3 
    [tm_year] => 113 
    [tm_wday] => 0 
    [tm_yday] => 0 
    [unparsed] => 
) 

Я думаю, что вы можете взять его отсюда.

Смежные вопросы