написал скрипт, который выводит из базы данных дату последнего действия. Но он не работает, пожалуйста помогите решить проблему :)
<?php
$mysqldate = 1548841956; # Это дата получаемая из базы данных
# Перевод даты из базы в формат времени Unix
$time = strtotime($mysqldate);
# Создаем ассоциативный массив где каждому числу месяца присваем название месяца
$month_name = array(
1 => 'января',
2 => 'февраля',
3 => 'марта',
4 => 'апреля',
5 => 'мая',
6 => 'июня',
7 => 'июля',
8 => 'августа',
9 => 'сентября',
10 => 'октября',
11 => 'ноября',
12 => 'декабря'
);
#Получаем название месяца, здесь используется наш созданный массив
$month = $month_name[ date( 'n',$time ) ];
$day = date( 'j',$time ); # С помощью функции date() получаем число дня
$year = date( 'Y',$time ); # Получаем год
$hour = date( 'G',$time ); # Получаем значение часа
$min = date( 'i',$time ); # Получаем минуты
$date = "$day $month $year, $hour:$min"; # Собираем пазл из переменных
echo "Последний вход: ".$date; #Выводим преобразованную дату на экран
?>
На выходе он выводит следующее: Последний вход: 1 января 1970, 3:00
# Перевод даты из базы в формат времени Unix
$time = strtotime($mysqldate);
$mysqldate ($mysqldate = 1548841956;) уже в формате времени Unix. Так что данное преобразование не требуется.
С учетом того что date() понимает и сложные форматы даты, ваш код можно упростить до:
$mysqldate = 1548841956; # Это дата получаемая из базы данных
# Создаем ассоциативный массив где каждому числу месяца присваем название месяца
$month_name = array(
1 => 'января',
2 => 'февраля',
3 => 'марта',
4 => 'апреля',
5 => 'мая',
6 => 'июня',
7 => 'июля',
8 => 'августа',
9 => 'сентября',
10 => 'октября',
11 => 'ноября',
12 => 'декабря'
);
#Получаем название месяца, здесь используется наш созданный массив
$month = $month_name[ date( 'n', $mysqldate ) ];
echo "Последний вход: " . date("j $month Y, в G:i", $mysqldate);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей