Как изменить формат даты, полученной в PHP?


Из запроса я получаю дату следующим образом:

2018-07-06 22:24:44

с помощью:

<h4>'.$fecha.'</h4>

Как я могу изменить этот формат, без необходимости изменять базу данных, как я могу преобразовать эту дату в этот формат:

Julio 06,2018
 8
php
Author: Eduardo, 2018-07-07

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 вы можете найти следующие ссылки.

 7
Author: Publisere.com, 2018-07-07 04:34:16

Попробуйте следующий код, который вы должны назначить, как вы хотите дату с 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, новая проблема-язык

 3
Author: x-rw, 2018-07-07 04:29:15

Документация по Date

Вы можете реализовать функцию Date PHP следующим образом:

Это код:

<?php //php 7.0.8

$today = date("F j, Y"); // March 10, 2001, 5:16 pm
echo $today;
?>

И показывает вам что-то вроде этого:

July 7, 2018

 3
Author: simon, 2019-01-02 17:11:16

Я рекомендую использовать очень хорошую библиотеку для парсинга ваших дат с помощью 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

 2
Author: Eduardo Rengifo, 2018-07-08 19:45:35