время — как работать только с часами

Есть ли способ работать только со временем? Я имею в виду только с 24-часовым периодом. Я знаю о date(), strtotime() а также time() функции, но, насколько я знаю, они работают с целой датой.

Моя цель — 48 часов. Мне нужно что-то вроде 00:00, 00:30, 01:00, 01:30 … 23:30. У каждого получасового интервала есть свой множитель. В результате мне нужно будет принять входящее время (например, 15:22) и умножить на значение ближайшего интервала (это 15:00).

Если я использую следующий код, он связывает мое время с «сегодня»:

$b = strtotime('00:32'); // 1439760720

Итак, завтра число будет другим.

-2

Решение

Разделив дату, которая прошла через strtotime на 60 дважды даст вам количество часов, которые оно представляет.

Например, в этой функции я смотрю на разницу между двумя датами, текущей датой и датой публикации поста. Если разница составляет менее 24 часов, дата становится «сегодняшней», между 24 и 48, дата становится «вчерашней», и в течение всего этого времени она просто остается фактической датой.

function niceDate($date) {
$strtotime = strtotime($date);
$comparison_date = strtotime(date('Y/m/d',$strtotime));
$now = strtotime(date('Y/m/d'));
$difference = ((($now-$comparison_date)/60)/60);
if($difference<24) {$nice_day = 'today';}
elseif ($difference>=24 && $difference<48) {$nice_day = 'yesterday';}
else {$nice_day = 'on '.date('l F j, Y',$strtotime);}
}
$nice_date = $nice_day.' at '.date('H:i',$strtotime);
return $nice_date;
}
0

Другие решения

Самый простой способ сделать то, что мне нужно, это работать с тем же годом, месяцем, днем. К счастью, каждая временная метка имеет общий вид шаблона. Вот почему все, что мне нужно, это получить время из входящей строки и добавить его к текущему Y-m-d.

Например у меня $ а как шаблон получасового времени. А также $ б в качестве входящей метки времени. Я могу нарезать $ б получить час и минуты а затем использовать его так же, как я использую время шаблона.

$a = "00:30";
$b = "2015-05-03 13:45";
$c = strstr($b, ' ');

if (strtotime($a) < strtotime($c)) echo 'ok!'; else echo 'not ok!'; // ok!
0

По вопросам рекламы [email protected]