Очень странную ситуацию отловил при переезде с дебиан на центос на другой сервер..
Во вьюхе есть вывод времени такой:
var_dump(HtmlPurifier::process(NewTime::new_time(strtotime('2018-06-15 13:26:27'))));
var_dump(HtmlPurifier::process(NewTime::new_time(strtotime('2018-06-15 13:26:27'))));
Класс NewTime когда давно просто взял готовый для перевода в читаемый формат даты:
<?php
namespace app\models;
class NewTime{
public static function new_time($a) { // преобразовываем время в нормальный вид
date_default_timezone_set('Europe/Moscow');
$ndate = date('d.m.Y', $a);
$ndate_time = date('H:i', $a);
$ndate_exp = explode('.', $ndate);
$nmonth = array(
1 => 'января',
2 => 'февраля',
3 => 'марта',
4 => 'апреля',
5 => 'мая',
6 => 'июня',
7 => 'июля',
8 => 'августа',
9 => 'сентября',
10 => 'октября',
11 => 'ноября',
12 => 'декабря'
);
foreach ($nmonth as $key => $value) {
if($key == intval($ndate_exp[1])) $nmonth_name = $value;
}
if($ndate == date('d.m.Y')) return 'сегодня в '.$ndate_time;
elseif($ndate == date('d.m.Y', strtotime('-1 day'))) return 'вчера в '.$ndate_time;
else return $ndate_exp[0].' '.$nmonth_name.' '.$ndate_exp[2].' в '.$ndate_time;
}
}
так вот, во вьюхе казалось бы должно выводиться 2 значения одинаковых таких:
15 июня 2018 в 13:26
15 июня 2018 в 13:26
но выводится не так, а вот так:
15 июня 2018 в 16:26
15 июня 2018 в 13:26
т.е. при первом вызове почему-то плюсует 3 часа, а при втором уже нет ) Что думаете? Из-за чего так?
Пока пофиксил просто холостым вызовом в начале и в итоге возвращается корректное время..