Как изменить формат даты, полученной в PHP?
Из запроса я получаю дату следующим образом:
2018-07-06 22:24:44
с помощью:
<h4>'.$fecha.'</h4>
Как я могу изменить этот формат, без необходимости изменять базу данных, как я могу преобразовать эту дату в этот формат:
Julio 06,2018
4 answers
Лучше всего работать с функциями, которые уже есть в PHP
Ось:
setlocale(LC_ALL,"es_ES@euro","es_ES","esp");
$d = "2018-07-06";
$fecha = strftime("%d de %B de %Y", strtotime($date_post));
echo $fecha;
Дата вывода: 06 de julio de 2018
Вы также можете немного поиграть с кодом
Ось:
function obtenerFechaEnLetra($fecha){
$dia= conocerDiaSemanaFecha($fecha);
$num = date("j", strtotime($fecha));
$anno = date("Y", strtotime($fecha));
$mes = array('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre');
$mes = $mes[(date('m', strtotime($fecha))*1)-1];
return $dia.', '.$num.' de '.$mes.' del '.$anno;
}
function conocerDiaSemanaFecha($fecha) {
$dias = array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
$dia = $dias[date('w', strtotime($fecha))];
return $dia;
}
Дата вывода: Viernes, 6 de julio del 2018
В официальной документации PHP вы можете найти следующие ссылки.
Попробуйте следующий код, который вы должны назначить, как вы хотите дату с m-d-Y
который просто изменяет формат.
$fecha = "2018-07-07";
$fechaNueva = date("m-d-Y", strtotime($fecha));
Другие способы достижения этой цели
$fecha = "2018-07-07";
echo $fecha->format('d-m-Y');
Издание 1:
$fecha = "2018-07-07"; //fecha de prueba
$mes = date("m",strtotime($fecha)); //obtenemos el mes en numero
$monthName = date("F", mktime(0, 0, 0, $mes, 10)); //lo convertimos en cadena
$year=date("y",strtotime($fecha));//obtenemos el año
$dia=date("d",strtotime($fecha));// obtenemos el dia
echo $monthName.' '.$dia.','.$year; // lo juntamos con el formato se quiere
Результат July 07,18
, новая проблема-язык
Вы можете реализовать функцию Date PHP следующим образом:
Это код:
<?php //php 7.0.8
$today = date("F j, Y"); // March 10, 2001, 5:16 pm
echo $today;
?>
И показывает вам что-то вроде этого:
July 7, 2018
Я рекомендую использовать очень хорошую библиотеку для парсинга ваших дат с помощью PHP, и вы можете легко использовать ее с composer.
Чтобы установить эту библиотеку с помощью composer:
$ composer require fightbulc/moment
Легко парсировать ваши даты с несколькими строками кода:
<?php
require __DIR__ . '/vendor/autoload.php';
// Se establece el lenguaje
\Moment\Moment::setLocale('es_ES');
$m = new \Moment\Moment('2018-07-06 22:24:44'); // Se agrega la fecha
echo $m->format('F j, Y'); // Imprime: julio 6, 2018
Из этой и многих других форм вы можете изменить формат своих дат.
Репозиторий на Github: https://github.com/fightbulc/moment.php