Работа со временем в php: сравнение и формат вывода
X
Заказать сайт
Заказать сайт

Работа со временем в php: сравнение и формат вывода

4324234432

При работе с датами и временем в php могут возникнуть сложности даже у опытных программистов. Для разработки сложных приложений или сайтов чаще всего требуется операции по сравнению времени, изменению его формата или сложению/вычитанию дат и часов.

Напомню, что проще всего получить текущую дату в php можно с помощью функции date(). Например, <?php echo date("Сейчас: H.i.s Дата: d.m.Y"); ?> выведет время и текущую дату.

Преобразовать формат времени

Как известно, в базе данных дата обычно записывается в формате: yyyy-mm-dd. Но при выгрузке на сайте данный формат не очень удобен для восприятия. Предлагаю рассмотреть пример ниже, который преобразует дату в нужный формат (dd-mm-yyyy):

<?php
$originalDate = "2010-03-21";
$newDate = date("d-m-Y", strtotime($originalDate));
?>

Изменение времени в php

Для этой задачи можно использовать date() и strtotime(). Последняя преобразует дату с 1970г (в виде цифр или английского текста) в метку времени Unix. Рассмотрим примеры:

Прибавит к текущей дате 1 день:
echo date('d.m.Y', strtotime(date('d.m.Y')."+1 day"));

Вычтет 2 часа, 15 минут, 10 сек:
$date=date("12:57:34");
$vr = '-2 hours -15 minutes -10 seconds';
echo date('H:i:s', strtotime($date . $vr));

Прибавит 1 недели и 2 дня и вычтет 15 минут:
$date=date("01.08.2014 12:57:34");
$vr = '+1 week +2 days -15 minutes';
echo date('d.m.Y H:i:s', strtotime($date . $vr));

Последний день месяца из даты:
$timelastday = date("t", strtotime(date("d.m.Y")));

Текущий день из даты:
$timefirstday = date("d", strtotime(date("d.m.Y")));

Увеличиваем дату на 1 месяц и выводим ее в нужном формате:
$timenext = strtotime(date("d.m.Y")." +1 month");
echo $timenextmec = date("d.m.Y", $timenext);

Сравнение времени в php

Выполняется на уже знакомой нам функции strtotime(). Рассчитаем разницу в днях между двумя датами:
$date1='16.11.2012'; $date2='11.10.2012';
echo round((strtotime($date1)-strtotime($date2))/(60*60*24));

В php есть множество возможностей по работе с датами и временем. Экспериментируйте с кодом и все получится.

| | Работа со временем в php: сравнение и формат вывода | При работе с датами и временем в php могут возникнуть сложности даже у опытных программистов. Для разработки сложных приложений или сайтов чаще всего | https://blogprogram.ru/wp-content/uploads/2016/09/4324234432-131x131.jpg