php добавить день к дате

Дата и время в PHP

В распределенных системах, таких, как Интернет, время играет особую роль. Из-за незначительного расхождения системных часов игрок на рынке Forex может потерять десятки тысяч долларов в течение нескольких минут; система деловой разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации потеряют важную информацию, нужную пользователю и т.д.

PHP-функции для работы с датой и временем

PHP содержит множество функций для работы с датой и временем. Наиболее употребимыми являются:

time() Возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX). getdate( ) Считывает информацию о дате и времени. Возвращает ассоциативный массив, содержащий информацию по заданному или по текущему (по умолчанию) времени. Массив содержит следующие элементы:

secondsСекунды (0-59)
minutesМинуты (0-59)
hoursЧасы (0-23)
mdayДень месяца (1-31)
wdayДень недели (0-6), начиная с воскресенья
monМесяц (1-12)
yearГод
ydayДень года (0-365)
weekdayНазвание дня недели (например, Friday)
monthНазвание месяца (например, January)
0Абсолютное время

Пример 1

РЕЗУЛЬТАТ ПРИМЕРА 1:

seconds = 59
minutes = 33
hours = 0
mday = 5
wday = 5
mon = 11
year = 2021
yday = 308
weekday = Friday
month = November
0 = 1636061639
Сегодня: 5.11.2021

date() Форматирование даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. Строка формата может содержать следующие коды:

Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку. Если в строку формата нужно добавить символы, которые сами по себе являются кодами формата, то перед ними надо поставить обратную косую черту «\». Символы, которые становятся кодами формата при добавлении к ним обратной косой, нужно предварять двумя косыми. Например, если необходимо добавить в строку «n», то надо ввести «\\n», поскольку «\n» является символом новой строки.

Пример 2

РЕЗУЛЬТАТ ПРИМЕРА 2:

Сегодня 05.11.21 00:33

часы
минуты
секунды
месяц
день месяца
год

Пример 3

РЕЗУЛЬТАТ ПРИМЕРА 3:

22 January 1971, at 1.30 pm, Friday

Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.

Пример 4

РЕЗУЛЬТАТ ПРИМЕРА 4:

Friday 05 November 2021 00:33
Сегодня Friday 05 November 2021 00:33:59
MSK

Источник

DateTime::sub

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Описание

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

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

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

Примеры

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

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

Пример #2 Другие примеры DateTime::sub()

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

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

= new DateTime ( ‘2001-04-30’ );
$interval = new DateInterval ( ‘P1M’ );

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

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

User Contributed Notes 6 notes

As noted above when subtracting months, results can be suspect. I needed to create an array of end of month dates for 6 months starting at Oct and going back. Using:
//Instantiate array
$dateset = [];

array:6 [▼
0 => «2018-10-31»
1 => «2018-10-01»
2 => «2018-09-01»
3 => «2018-08-01»
4 => «2018-07-01»
5 => «2018-06-01»
]

array:6 [▼
0 => «2018-10-31»
1 => «2018-09-30»
2 => «2018-08-31»
3 => «2018-07-31»
4 => «2018-06-30»
5 => «2018-05-31»
]

Remark, that calculations on date are not defined as bijective operations. The Summertime is integrated by mixing two concepts. You should test it beforehead.

Datetime will correct a date after each summation, if a date (29.2.2021 => 1.3.2021) or a datetime (29.3.2020 2:30 am (Europe/Berlin) => 29.3.2020 3:30 or 29.3.2020 1:30)

Источник

date — Форматирует вывод системной даты/времени

Описание

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

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

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

Ошибки

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

Примеры

Пример #1 Примеры использования функции date()

// установка временной зоны по умолчанию. Доступно начиная с версии PHP 5.1
date_default_timezone_set ( ‘UTC’ );

// выведет примерно следующее: Monday
echo date ( «l» );

// выведет примерно следующее: Monday 8th of August 2005 03:12:46 PM
echo date ( ‘l jS \of F Y h:i:s A’ );

Чтобы запретить распознавание символа как форматирующего, следует экранировать его с помощью обратного слеша. Если экранированный символ также является форматирующей последовательностью, то следует экранировать его повторно.

Пример #2 Экранирование символов в функции date()

Пример #3 Пример совместного использования функций date() и mktime()

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

Пример #4 Форматирование с использованием date()

// Предположим, что текущей датой является 10 марта 2001, 5:16:18 вечера,
// и мы находимся во временной зоне Mountain Standard Time (MST)

$today = date ( «F j, Y, g:i a» ); // March 10, 2001, 5:16 pm
$today = date ( «m.d.y» ); // 03.10.01
$today = date ( «j, n, Y» ); // 10, 3, 2001
$today = date ( «Ymd» ); // 20010310
$today = date ( ‘h-i-s, j-m-y, it is w Day’ ); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date ( ‘\i\t \i\s \t\h\e jS \d\a\y.’ ); // it is the 10th day.
$today = date ( «D M j G:i:s T Y» ); // Sat Mar 10 17:16:18 MST 2001
$today = date ( ‘H:m:s \m \i\s\ \m\o\n\t\h’ ); // 17:03:18 m is month
$today = date ( «H:i:s» ); // 17:16:18
$today = date ( «Y-m-d H:i:s» ); // 2001-03-10 17:16:18 (формат MySQL DATETIME)
?>

Примечания

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

Источник

Как добавить месяц к определенной дате с помощью PHP?

я использую now() Функция для получения даты. Я попытался добавить месяц со многими функциями, такими как:

Решение

Вы сделали это сложнее, чем нужно.

strtotime() примет «сейчас», если вы не передадите ему дату и время.

В противном случае, как вы назвали это, вы должны увидеть эту ошибку:

Предупреждение: strtotime () ожидает, что параметр 2 будет целочисленным, строка указана в / tmp / execpad-a8173d5d91cb / source-a8173d5d91cb в строке

Это потому что strtotime() ожидает, что вторым параметром будет метка времени Unix, и вы четко предоставите строку. Закрытое приближение к вашему коду будет

Если дата по-прежнему поступает в базу данных неправильно, значит, у вас есть проблема за пределами вашего кода даты.

Другие решения

Наличие даты в MySQL как 0000-00-00 00:00:00 обычно указывает, что дата, которую вы пытались сохранить в базе данных, не имела допустимого формата / не была распознана как дата MySQL. Может быть, это проблема с тем, как вы вставляете или обновляете значение даты?

Вы также можете напрямую добавить месяц к дате в MySQL без необходимости выполнять вычисления в PHP с помощью встроенной функции. DATE_ADD () MySQL:

Используя это, вы также можете напрямую обновить значение даты до даты, которая на месяц вперед:

(Заменить table_name, column_name, Я бы а также твой идентификационный номер в соответствии с вашими потребностями.)

Источник

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

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

ВерсияОписание
5.1.0Допустимым диапазоном дат для временных меток обычно являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Они соответствуют минимальному и максимальному значению 32-битного целого числа со знаком). Однако для PHP версии ниже 5.1.0 в некоторых операционных системах (например, Windows) этот диапазон был ограничен датами 01-01-1970 до 19-01-2038.
5.1.0