Как переформатировать дату в PHP?

Я вытягиваю даты различных сообщений от базы данных. Даты находятся в следующем формате:

2009-08-12

Numeric Year - Numeric Month - Numeric Day

Как может я переформатировать эти даты к чему-то более удобному для пользователя как:

August 12, 2009

Numeric Month Numeric Date, Numeric Year

Предположение, что дата, полученная от mysql базы данных, хранится в названной переменной:

$date = $row['date_selected'];
26
задан Galen 3 May 2010 в 05:59
поделиться

8 ответов

date ("F d, Y", strtotime ($ input))

51
ответ дан 28 November 2019 в 06:01
поделиться

Используя strtodate или explode для разделения даты на различные компоненты, вы можете затем использовать функцию date с соответствующей строкой формата:http://php.net/manual/en/function.date.php

$date = "2009-08-12";
list($year,$month,$day) = explode("-",$date);
$formattedDate = date("F d, Y", mktime(0,0,0,$month,$day,$year));

Выводит: "12 августа 2009 года"

0
ответ дан 28 November 2019 в 06:01
поделиться

В отличие от примеров на основе strtotime , это позволяет гарантировать, что месяц и день интерпретируются в правильном порядке независимо от настроек локали, указанных на сервере.

$date = DateTime::createFromFormat('Y-m-d', '2009-08-12');
$output = $date->format('F j, Y');
59
ответ дан 28 November 2019 в 06:01
поделиться

Вы можете рассмотреть возможность форматирования даты в MySQL с помощью оператора select:

DATE_FORMAT(date,'%M %e, %Y') as date_selected

http://www.w3schools.com/sql/func_date_format.asp

4
ответ дан 28 November 2019 в 06:01
поделиться
<?php
echo date('F j, Y', strtotime($date));
0
ответ дан 28 November 2019 в 06:01
поделиться

Вы можете посмотреть на функцию php strtotime :

http: //php.net/manual/en/function.strtotime.php

Он анализирует большое количество представлений даты на временную метку Unix.

Затем используйте функцию дата .

0
ответ дан 28 November 2019 в 06:01
поделиться

Используйте его следующим образом:
// 1 февраля 2005 года
print date ("F j, Y", mktime (0,0,0,14,1,2004));

0
ответ дан 28 November 2019 в 06:01
поделиться
$new_format = date("Your Date String", strtotime($date));

See:
- http://php.net/strtotime
- http://php.net/date

В принципе, если strtotime() может прочитать его правильно, вы можете переформатировать его как угодно.

В данном случае Год - Месяц - День является правильно распознанным strtotime() форматом, для других форматов это может быть не так.

6
ответ дан 28 November 2019 в 06:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: