Как поменять формат даты php
Перейти к содержимому

Как поменять формат даты php

  • автор:

date_format

Возвращает строку даты, преобразованной согласно переданному формату.

Список параметров

Только для процедурного стиля: объект DateTime , который возвращает функция date_create() .

Шаблон результирующей строки ( string ) с датой. Смотрите параметры форматирования ниже. Также существует несколько предопределённых констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон ‘D, d M Y H:i:s’ .

В параметре format распознаются следующие символы

Символ в строке format Описание Пример возвращаемого значения
День
d День месяца, 2 цифры с ведущим нулём От 01 до 31
D Текстовое представление дня недели, 3 символа От Mon до Sun
j День месяца без ведущего нуля От 1 до 31
l (строчная ‘L’) Полное наименование дня недели От Sunday до Saturday
N Порядковый номер дня недели в соответствии со стандартом ISO 8601 От 1 (понедельник) до 7 (воскресенье)
S Английский суффикс порядкового числительного дня месяца, 2 символа st , nd , rd или th . Применяют совместно с j
w Порядковый номер дня недели От 0 (воскресенье) до 6 (суббота)
z Порядковый номер дня в году (начиная с 0) От 0 до 365
Неделя
W Порядковый номер недели года в соответствии со стандартом ISO 8601; недели начинаются с понедельника Например: 42 (42-я неделя года)
Месяц
F Полное наименование месяца, например, January или March От January до December
m Порядковый номер месяца с ведущим нулём От 01 до 12
M Сокращённое наименование месяца, 3 символа От Jan до Dec
n Порядковый номер месяца без ведущего нуля От 1 до 12
t Количество дней в указанном месяце От 28 до 31
Год
L Признак високосного года 1 , если год високосный, иначе 0 .
o Номер года в соответствии со стандартом ISO 8601. Имеет то же значение, что и Y , кроме случая, когда номер недели ISO ( W ) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. Примеры: 1999 или 2003
X Расширенное полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры и + для годов нашей эры. Примеры: -0055 , +0787 , +1999 , +10191
x Расширенное полное числовое представление, если требуется, или стандартное полное числовое представление, если возможно (например, Y ). Не менее четырёх цифр. Для годов до нашей эры указан префикс — . У годов после (и включая) 10000 префикс + . Примеры: -0055 , 0787 , 1999 , +10191
Y Полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры. Примеры: -0055 , 0787 , 1999 , 2003 , 10191
y Номер года, 2 цифры Примеры: 99 , 03
Время
a Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре am или pm
A Ante meridiem или Post meridiem в верхнем регистре AM или PM
B Время в формате Интернет-времени (альтернативной системы отсчёта времени суток) От 000 до 999
g Часы в 12-часовом формате без ведущего нуля От 1 до 12
G Часы в 24-часовом формате без ведущего нуля От 0 до 23
h Часы в 12-часовом формате с ведущим нулём От 01 до 12
H Часы в 24-часовом формате с ведущим нулём От 00 до 23
i Минуты с ведущим нулём От 00 до 59
s Секунды с ведущим нулём От 00 до 59
u Микросекунды. Учтите, что функция date() всегда будет возвращать значение 000000 , т. к. она принимает целочисленный ( int ) параметр, тогда как метод DateTime::format() поддерживает микросекунды, если объект DateTime создан с ними. Например: 654321
v Миллисекунды. Замечание такое же, как и для u . Пример: 654
Часовой пояс
e Идентификатор часового пояса Примеры: UTC , GMT , Atlantic/Azores
I (заглавная i) Признак летнего времени 1 , если дата соответствует летнему времени, 0 в противном случае
O Разница со временем по Гринвичу без двоеточия между часами и минутами Например: +0200
P Разница со временем по Гринвичу с двоеточием между часами и минутами Например: +02:00
p То же, что и P , но возвращает Z вместо +00:00 (доступен, начиная с PHP 8.0.0) Например: Z или +02:00
T Аббревиатура часового пояса, если известна; в противном случае смещение по Гринвичу. Примеры: EST , MDT , +05
Z Смещение часового пояса в секундах. Для часовых поясов, расположенных западнее UTC, возвращаются отрицательные числа, а для расположенных восточнее UTC — положительные. От -43200 до 50400
Полная дата/время
c Дата в формате стандарта ISO 8601 2004-02-12T15:19:21+00:00
r Дата в формате » RFC 222/» RFC 5322 Например: Thu, 21 Dec 2000 16:01:07 +0200
U Количество секунд, прошедших с начала Эпохи Unix (1 января 1970 00:00:00 GMT) Смотрите также time()

Любые другие символы, встреченные в строке-шаблоне, будут выведены в результирующую строку без изменений. Z всегда возвращает 0 при использовании gmdate() .

Замечание:

Поскольку эта функция принимает в качестве параметра целочисленные ( int ) метки времени, форматирующий символ u будет полезен только при работе с функцией date_format() и пользовательскими метками времени, созданными функцией date_create() .

Возвращаемые значения

Возвращает строку с отформатированной датой в случае успешного выполнения.

Изменить формат даты в php

У меня в БД два поля с датами date,date1 и в них дата сейчас выводится так: 2016-09-25.Я хочу сделать вот так: 25-09-2016. Пытался менять формат на : d-m-Y ,но выводит на месте даты 0000-00-00 Помогите пожалуйста. В файле который выводит из бд данные запрос такой:

$rezult=mysql_query("SELECT * FROM klienti"); 

В файле который добавляет запрос код такой:

       Добавление клиента     клиент 

ОП_форма

Наимен


отрасль


telefon


email


Контактное лицо


Должность


" /> " />

В файле отвечающем за вставку в БД
Отслеживать
задан 27 сен 2016 в 19:33
139 1 1 золотой знак 5 5 серебряных знаков 17 17 бронзовых знаков

4 ответа 4

Сортировка: Сброс на вариант по умолчанию

Тип данных DATE используется для величин, содержащих информацию о дате. MySQL извлекает и выводит величины DATE в формате ‘YYYY-MM-DD’.

Вы не сможете изменить в базе данных формат хранения на другой никак — это стандарт MySQL.

Для форматирования вывода воспользуйтесь классом DateTime, который позволяет удобно работать с датами.

DateTime::createFromFormat('Y-m-d', '2015-05-24')->format('d-m-Y'); 

date_modify

Изменяет метку времени объекта DateTime путём добавления или вычитания времени в формате, принятом для функции DateTimeImmutable::__construct() .

Список параметров

Только для процедурного стиля: объект DateTime , который возвращает функция date_create() . Функция изменяет этот объект.

Строка даты/времени. Объяснение корректных форматов дано в разделе Форматы даты и времени.

Возвращаемые значения

Возвращает модифицированный объект DateTime для применения в цепи методов или false в случае возникновения ошибки.

Ошибки

Только для объектно-ориентированного API: Если передана строка с недопустимой датой/временем, будет выброшено исключение DateMalformedStringException .

Список изменений

Версия Описание
8.3.0 Теперь вместо предупреждения в методе DateTime::modify() выбрасывается исключение DateMalformedStringException , если передана недопустимая строка. Функция date_modify() не была изменена.

Примеры

Пример #1 Пример использования DateTime::modify()

$date = new DateTime ( ‘2006-12-12’ );
$date -> modify ( ‘+1 day’ );
echo $date -> format ( ‘Y-m-d’ );
?>

$date = date_create ( ‘2006-12-12’ );
date_modify ( $date , ‘+1 day’ );
echo date_format ( $date , ‘Y-m-d’ );
?>

Результат выполнения приведённых примеров:

2006-12-13

Пример #2 Будьте осторожны при добавлении и вычитании месяцев

$date -> modify ( ‘+1 month’ );
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;

$date -> modify ( ‘+1 month’ );
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;
?>

Результат выполнения приведённого примера:

2001-01-31 2001-03-03

Пример #3 Поддерживаются все форматы даты и времени

$date -> modify ( ‘July 1st, 2023’ );
echo $date -> format ( ‘Y-m-d H:i’ ) . «\n» ;

$date -> modify ( ‘Monday next week’ );
echo $date -> format ( ‘Y-m-d H:i’ ) . «\n» ;

$date -> modify ( ’17:30′ );
echo $date -> format ( ‘Y-m-d H:i’ ) . «\n» ;
?>

Результат выполнения приведённого примера:

2023-07-01 00:00 2023-07-03 00:00 2023-07-03 17:30

Смотрите также

  • strtotime() — Преобразовывает текстовое представление даты на английском языке в метку времени Unix
  • DateTimeImmutable::modify() — Создаёт новый объект с изменённой временной меткой
  • DateTime::add() — Изменяет объект DateTime, добавляя количество дней, месяцев, лет, часов, минут и секунд
  • DateTime::sub() — Вычитает дни, месяцы, годы, часы, минуты и секунды из объекта DateTime
  • DateTime::setDate() — Устанавливает дату
  • DateTime::setISODate() — Устанавливает дату в формате ISO
  • DateTime::setTime() — Устанавливает время
  • DateTime::setTimestamp() — Устанавливает дату и время на основе метки времени Unix

User Contributed Notes

There are no user contributed notes for this page.

  • Copyright © 2001-2024 The PHP Group
  • My PHP.net
  • Contact
  • Other PHP.net sites
  • Privacy policy

Как на php изменить формат даты?

Есть получаемая строка: 2018-12-28T00:00:00 — это дата, непонятно какого формата.
Подскажите, как ее перевести в удобочитаемый формат? и чем?

  • Вопрос задан более трёх лет назад
  • 3698 просмотров

Комментировать

Решения вопроса 1

dark1112

Web developer

Это формат ISO 8601.

$date = new \DateTime('2018-12-28T00:00:00'); echo $date->format('d/m/Y H:i:s'); // 28/12/2018 00:00:00

Ответ написан более трёх лет назад

Комментировать

Нравится 4 Комментировать

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *