прибавить к дате количество дней php

DateTime::add

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

Описание

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

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

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

Примеры

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

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

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

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

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

= new DateTime ( ‘2000-12-31’ );
$interval = new DateInterval ( ‘P1M’ );

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

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

User Contributed Notes 12 notes

Another simple solution to adding a month but not autocorrecting days to the next month is this.
(Also works for substracting months)

$dt = new DateTime(«2016-01-31»);

Hope this helps someone.

Here is a solution to adding months when you want 2014-10-31 to become 2014-11-30 instead of 2014-12-01.

/**
* Class MyDateTime
*
* Extends DateTime to include a sensible addMonth method.
*
* This class provides a method that will increment the month, and
* if the day is greater than the last day in the new month, it
* changes the day to the last day of that month. For example,
* If you add one month to 2014-10-31 using DateTime::add, the
* result is 2014-12-01. Using MyDateTime::addMonth the result is
* 2014-11-30.
*/
class MyDateTime extends DateTime
<

If you need add() and sub() that don’t modify object values, you can create new methods like this:

class DateTimeEnhanced extends DateTime <

$interval = DateInterval :: createfromdatestring ( ‘+1 day’ );

If you use fraction of seconds, you may have surprises. It only occurs when the sum of the floating point parts results in exactly 1 second (0.5 + 0.5 ou 0.3 + 0.7, for example). See these cases at intervals slightly bigger than 1 second:

To resolve, add 1 second to the interval and f property must be negative (-1.0 plus original value):

What you can do with this function/method is a great example of the philosophy: «just because you can do it doesn’t mean you should». I’m talking about two issues: (1) the number of days in the month which varies from months 1-12 as well as for month 2 which could be leap year (or not); and then issue (2): what if there is the need to specify a large quantity of an interval such that it needs to be re-characterized into broader-scoped intervals (i.e. 184 seconds ==> 3 minutes-4 seconds). Examples in notes elsewhere in the docs for this function illustrate both issues and their undesired effects so I won’t focus on them further. But how did I decide to handle? I’ve gone with four «public» functions and a single «private» function, and without giving you a bunch of code to study, here are their summaries.

**Results/goals.
—any number of days/hours/minutes/seconds can be passed in to add/subtractTime and all of «Y/M/D/H/M/S» values get adjusted as you would expect.
—using adjustYear/Month lets you pass +/- values and only «Y/M» values get modified without having undesirable effects on day values.
—a call to the «recharacterize» function helps ensure proper and desired values are in the intervals prior to calling date_add to let it do its work.

/* results:
1383458399 1383458399 2013-11-03 01:59:59 EDT
1383458400 1383462000 2013-11-03 02:00:00 EST

noticed how the second column went from 1383458399 to 1383462000 even though only 1 second was added?
*/

$TodaySQL = substr(date(DATE_ISO8601 ),0,10)
$LastYearSQL = date(‘Y.m.d’,strtotime(«-1 years»))
$NextMonthEndSQL = date(‘Y.m.d’,strtotime(«+1 months»))

// handy little SQL date formats

//Today
2021-03-24
//Last year
2020.03.24
//Next month
2021.04.24

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)

Be careful when using this function, I may have happened upon a bug in PHP7.

My code is as follows

//get date from post or else fill with today’s date
if (isset($_POST[«from»]))
<
$from = date_create($_POST[«from»]);
>else<
$from = date_create(date(«Y-m-d»));
>

The resultant output is
$from = 2015-12-11
$to = 2015-12-11

In actuality the result should be
$from = 2015-12-10
$to = 2015-12-11

to fix this i needed to change the code to

//get date from post or else fill with today’s date
if (isset($_POST[«from»]))
<
$from = date_create($_POST[«from»]);
>else<
$from = date_create(date(«Y-m-d»));
>

This isn’t strictly the code I wanted. Possible bug?

Источник

Работа с датами в PHP

Учебник PHP

Практика

Важное

Регулярки

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

Для работы с датами в PHP применяются различные функции. Мы начнем изучение с функции time.

Функция time, формат timestamp

Функция time возвращает разницу в секундах между 1-го января 1970 года и текущим моментом времени. Такое представление даты называется форматом timestamp.

Зачем нужен timestamp?

Время в формате timestamp используется для того, чтобы найти разницу между датами в секундах.

С помощью функции time мы можем получить только текущий момент времени. Чтобы получить timestamp за любую дату следует использовать функцию mktime:

Функция mktime

Функция mktime работает аналогично функции time, но, в отличие от нее, принимает параметры: mktime(час, минута, секунда, месяц, день, год) (обратите внимание на то, что месяц и день переставлены местами ). Посмотрите примеры работы:

Полученная разница в секундах будет выглядеть так: 683247165 (обновите страницу и это число поменяется).

Вооружившись знаниями о том, что такое формат timestamp (он нам еще понадобится в дальнейшем), изучим более полезные функции для работы с датами, например, функцию date.

Функция date

Функция date выводит текущие дату и время в заданном формате.

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

Примеры работы с date:

Второй параметр функции date

Функция date имеет второй необязательный параметр, который принимает момент времени в формате timestamp. Если передать этот параметр, то функция date отформатирует не текущий момент времени, а тот, который передан вторым параметром. Этот timestamp можно получить, к примеру, через mktime (но не обязательно):

Функция strtotime

Следующая полезная функция, которую мы разберем, называется strtotime.

К примеру, я могу передать ей строку ‘2025-12-31’ и функция сама разберет, где тут год, где месяц, а где день, и вернет эту дату в формате timestamp.

Все форматы можно посмотреть тут.

Следующий код вернет дату предыдущего понедельника:

Как добавить или отнять дату

Пример 1

Давайте создадим объект с датой за 2025 год, 12 месяц, 31 день, затем прибавим к ней 1 день и выведем в формате ‘день.месяц.год’

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

Пример 2

Давайте создадим объект с датой за 2025 год, 12 месяц, 31 день, затем прибавим к ней 3 дня и выведем в формате ‘день.месяц.год’

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

Пример 3

Давайте создадим объект с датой за 2025 год, 12 месяц, 31 день, затем прибавим к ней 3 дня и 1 месяц и выведем в формате ‘день.месяц.год’

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

Пример 4

Давайте создадим объект с датой за 2025 год, 1 месяц, 1 день, затем отнимем от нее 1 день и выведем в формате ‘день.месяц.год’

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

Что вам делать дальше:

Приступайте к решению задач по следующей ссылке: задачи к уроку.

Источник

Как прибавить к дате 1 день?

Я не программист, но занимаюсь одним сайтом как администратор. Потребовалось прибавить к дате 1 день. Мне кажется что это нужно сделать вот тут:

Не подскажете, как это все прописать?

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней php

3 ответа 3

Выберите тот вариант, который подходит:

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней php

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней php

Если в общем случае, можно и strtotime заставить «переводить часы», тут я просто прибавил 86400 секунд (один день) к дате.

Тут можно уже и +5 weeks написать и что угодно вместо +1 day

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней php

Заработал вот такой вариант:

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней php

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней php

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php дата или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.24.40305

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Дата и время в 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 = 16
minutes = 53
hours = 11
mday = 26
wday = 0
mon = 9
year = 2021
yday = 268
weekday = Sunday
month = September
0 = 1632646396
Сегодня: 26.9.2021

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

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

Пример 2

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

Сегодня 26.09.21 11:53

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

Пример 3

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

22 January 1971, at 1.30 pm, Friday

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

Пример 4

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

Sunday 26 September 2021 11:53
Сегодня Sunday 26 September 2021 11:53:16
MSK

Источник

Как прибавить к дате 1 день?

я не программист, но занимаюсь одним сайтом как администратор. Потребовалось прибавить к дате 1 день. Мне кажется что это нужно сделать вот тут:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней phpКак прибавить кол-во дней к дате
Как использовать функцию Date_add не могу разобраться Вот что у меня 2

Спасибо! У меня заработал вот такой вариант:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней phpПрибавить заданный интервал к дате
Доброго всем времени суток. В общем, наверное, сабж. Если так, то киньте ссылочки соответствующие.

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней phpК текущей дате time() прибавить календарный месяц
как к текущей дате time() прибавить календарный месяц

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней phpПолучить timezone пользователя и прибавить его к дате, лежащей в БД
Добрый вечер! У меня возникла проблема, есть время по Гринвичу которая лежит в бд, мне необходимо.

прибавить к дате количество дней php. Смотреть фото прибавить к дате количество дней php. Смотреть картинку прибавить к дате количество дней php. Картинка про прибавить к дате количество дней php. Фото прибавить к дате количество дней phpКак к текущей дате прибавить 1 день
Здравствуйте, подскажите пожалуйста есть форма на ней кнопка и поле, в поле в «значение по.

Источник

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

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