Php дата вычесть год

Дата минус 1 год?

Функция strtotime возвращает strtotime метку unix, для получения форматированной строки вы можете использовать date :

echo date('Ym-d', $date); // echoes '2009-01-01' 

Используйте функцию strtotime ():

 $time = strtotime("-1 year", time()); $date = date("Ymd", $time); 

Использование объекта DateTime …

$time = new DateTime('2099-01-01'); $newtime = $time->modify('-1 year')->format('Ym-d'); 

Или использовать сейчас на сегодня

$time = new DateTime('now'); $newtime = $time->modify('-1 year')->format('Ym-d'); 

самый простой способ, которым я пользовался и работал хорошо

это сработало отлично .. надеюсь, это поможет кому-то еще .. 🙂

// set your date here $mydate = "2009-01-01"; /* strtotime accepts two parameters. The first parameter tells what it should compute. The second parameter defines what source date it should use. */ $lastyear = strtotime("-1 year", strtotime($mydate)); // format and display the computed date echo date("Ymd", $lastyear); 

Вы можете использовать следующую функцию для вычитания 1 или любых лет с даты.

 function yearstodate($years) < $now = date("Ymd"); $now = explode('-', $now); $year = $now[0]; $month = $now[1]; $day = $now[2]; $converted_year = $year - $years; echo $now = $converted_year."-".$month."-".$day; >$number_to_subtract = "1"; echo yearstodate($number_to_subtract); 

И, глядя выше, вы также можете использовать следующие

$user_age_min = "-"."1"; echo date('Ym-d', strtotime($user_age_min.'year')); 

Источник

Date minus 1 year?

Don’t forget to tend to the semantic issue of what you mean by «one year» w.r.t. leap years. Subtracting 365 days from 2008-02-28 will give you 2007-02-28, while subtracting 365 days from 2008-02-29 will give you 2007-03-31.

I guess that it very much depends on what «subtracting a year» means. You could mean the same month and day but one year earlier or the month and day after subtracting 365 days as Hostile points out.

8 Answers 8

$date = strtotime('2010-01-01 -1 year'); 

The strtotime function returns a unix timestamp, to get a formatted string you can use date :

echo date('Y-m-d', $date); // echoes '2009-01-01' 
 $time = strtotime("-1 year", time()); $date = date("Y-m-d", $time); 

Using the DateTime object.

$time = new DateTime('2099-01-01'); $newtime = $time->modify('-1 year')->format('Y-m-d'); 
$time = new DateTime('now'); $newtime = $time->modify('-1 year')->format('Y-m-d'); 

an easiest way which i used and worked well

this worked perfect.. hope this will help someone else too.. 🙂

On my website, to check if registering people is 18 years old, I simply used the following :

$legalAge = date('Y-m-d', strtotime('-18 year')); 

After, only compare the the two dates.

Читайте также:  Python concurrent futures future result

Hope it could help someone.

// set your date here $mydate = "2009-01-01"; /* strtotime accepts two parameters. The first parameter tells what it should compute. The second parameter defines what source date it should use. */ $lastyear = strtotime("-1 year", strtotime($mydate)); // format and display the computed date echo date("Y-m-d", $lastyear); 

Although there are many acceptable answers in response to this question, I don’t see any examples of the sub method using the \Datetime object: https://www.php.net/manual/en/datetime.sub.php

So, for reference, you can also use a \DateInterval to modify a \Datetime object:

$date = new \DateTime('2009-01-01'); $date->sub(new \DateInterval('P1Y')); echo $date->format('Y-m-d'); 

Источник

date_sub

Вычитает из времени объекта DateTime заданный интервал DateInterval.

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

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

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

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

Примеры

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

$date = new DateTime ( ‘2000-01-20’ );
$date -> sub (new DateInterval ( ‘P10D’ ));
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;
?>

$date = date_create ( ‘2000-01-20’ );
date_sub ( $date , date_interval_create_from_date_string ( ’10 days’ ));
echo date_format ( $date , ‘Y-m-d’ );
?>

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

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

$date = new DateTime ( ‘2000-01-20’ );
$date -> sub (new DateInterval ( ‘PT10H30S’ ));
echo $date -> format ( ‘Y-m-d H:i:s’ ) . «\n» ;

$date = new DateTime ( ‘2000-01-20’ );
$date -> sub (new DateInterval ( ‘P7Y5M4DT4H3M2S’ ));
echo $date -> format ( ‘Y-m-d H:i:s’ ) . «\n» ;
?>

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

2000-01-19 13:59:30 1992-08-15 19:56:58

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

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

$date -> sub ( $interval );
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;

$date -> sub ( $interval );
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;
?>

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

Примечания

При работе с PHP 5.2 в качестве альтернативы можно использовать функцию DateTime::modify() .

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

  • DateTime::add() — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::diff() — Возвращает разницу между двумя DateTime объектами
  • DateTime::modify() — Изменение временной метки

Источник

date_sub

Вычитает из времени объекта DateTime заданный интервал DateInterval.

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

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

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

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

Примеры

Пример #1 Пример использования DateTime::sub()
$date = new DateTime('2000-01-20'); $date->sub(new DateInterval('P10D')); echo $date->format('Y-m-d') . "\n";
$date = date_create('2000-01-20'); date_sub($date, date_interval_create_from_date_string('10 days')); echo date_format($date, 'Y-m-d');

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

Читайте также:  Saving code in java
Пример #2 Другие примеры DateTime::sub()
$date = new DateTime('2000-01-20'); $date->sub(new DateInterval('PT10H30S')); echo $date->format('Y-m-d H:i:s') . "\n"; $date = new DateTime('2000-01-20'); $date->sub(new DateInterval('P7Y5M4DT4H3M2S')); echo $date->format('Y-m-d H:i:s') . "\n";

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

2000-01-19 13:59:30 1992-08-15 19:56:58
Пример #3 Будьте внимательны при вычитании месяцев
$date = new DateTime('2001-04-30'); $interval = new DateInterval('P1M'); $date->sub($interval); echo $date->format('Y-m-d') . "\n"; $date->sub($interval); echo $date->format('Y-m-d') . "\n";

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

Примечания

При работе с PHP 5.2 в качестве альтернативы можно использовать функцию DateTime::modify().

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

  • DateTime::add() — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::diff() — Возвращает разницу между двумя DateTime объектами
  • DateTime::modify() — Изменение временной метки

Описание класса datetime, примеры использования класса datetime.

Источник

PHP вычесть дату из даты

⁡чтобы предотвратить переполнение) существует ⁡летнее время).⁡Добавление PT24H через переход ⁡⁢
⁡В одну строку это ⁡⁢ explode(«-«,$dat); ⁡из третьей убрать передачу ⁡Второй⁡этими функциями следует обращать ⁡Есть ⁡. ⁡- Изменение временной метки⁡⁢

Ответы:

  1. ⁡при вычитании месяцев⁡⁢ ⁡методов или ⁡объект ⁡⁢ ⁡(⁡⁢ ⁡и секунд из времени ⁡Человек вводить свою дату ⁡большое!⁡⁢

⁡директива ⁡Результат выполнения данного примера:⁡DST приведёт к добавлению ⁡делается так:⁡второго параметра.⁡strtotime⁡внимание на високосные года ⁡расширения для работы с ⁡⁢
⁡Подскажите, пожалуйста, есть ли ⁡⁢ $date = strtotime(‘+7 days’, $date) ⁡Источник: ⁡⁢
⁡Результат выполнения данного примера:⁡⁢ $date += 7*24*60*60 ⁡в случае возникновения ошибки.⁡⁢

/* (PHP 5 >= 5.2.0, PHP 7) */ $date = new DateTime('-3 days'); echo $date->format('Y-m-d'); 
/* (PHP 4, PHP 5, PHP 7) */ $date = strtotime('-3 days'); echo date('Y-m-d', $date); 
$date = date("Y-m-d"); $date = strtotime($date); $date = strtotime("-3 day", $date); echo date('Y-m-d', $date); 

Комментарии:

  • ⁡Источник: ⁡Я старался человеку подробно ⁡преобразует текстовое представление даты ⁡и переход на летнее ⁡датой и временем⁡какой-то простой способ провести ⁡.⁡DateTime::add()⁡Пример #1 Пример использования ⁡⁢
  • ⁡, возвращаемый ⁡, ⁡Объектно-ориентированный стиль⁡вычесть текущую дату от ⁡UNIX формат, а просто ⁡⁢
  • ⁡Результат выполнения данного примера:⁡вычитание времени может уменьшить ⁡⁢
$date = getdate(mktime(0, 0, 0, date('m'), date('d') - 3, date('Y'))); 
$date = date("M-d-Y", mktime(0, 0, 0, date('m'), date('d') - 3, date('Y'))); 
date('Y-m-d H:i:s', strtotime("-3 day")); 

⁡.⁡⁢ ru.stackoverflow.com ⁡такую манипуляцию?⁡⁢

PHP вычесть дату из даты

Арифметика даты/времени

⁡Задача такова: получаю дату ⁡- Добавляет заданное количество ⁡DateTime::sub()⁡date_create()⁡DateInterval⁡public ⁡⁢

⁡той, которую ввел пользователь ⁡функция time(), мне нужно ⁡⁢

⁡Источник: ⁡или увеличить дату⁡Результат выполнения данного примера:⁡В следующих примерах показываются ⁡⁢

$dt = new DateTimeImmutable(«2015-11-01 00:00:00», new DateTimeZone(«America/New_York»));
echo «Начало: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
$dt = $dt->add(new DateInterval(«PT3H»));
echo «Конец: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
?>

Начало: 2015-11-01 00:00:00 -04:00 Конец: 2015-11-01 02:00:00 -05:00

⁡метку времени Unix.⁡(Например, следует использовать ⁡Приведу цитату из документации, ⁡⁢

Читайте также:  Python round to nearest integer

⁡Я попробовал заморочиться с ⁡в переменную ⁡дней, месяцев, лет, часов, ⁡Объектно-ориентированный стиль⁡. Функция изменяет этот ⁡⁢

$dt = new DateTimeImmutable(«2015-11-01 00:00:00», new DateTimeZone(«America/New_York»));
echo «Начало: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
$dt = $dt->modify(«+24 hours»);
echo «Конец: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
?>

Начало: 2015-11-01 00:00:00 -04:00 Конец: 2015-11-02 00:00:00 -05:00

⁡DateTime::sub⁡Shandy Python ⁡от текущего времени отнять ⁡⁢

⁡.⁡Например, 31 января + ⁡Пример #2 DateTimeImmutable::modify и ⁡некоторые подводные камни вычислений ⁡⁢

echo «Обычный год:\n»; // В феврале 28 дней
$dt = new DateTimeImmutable(«2015-01-31 00:00:00», new DateTimeZone(«America/New_York»));
echo «Начало: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
$dt = $dt->modify(«+1 month»);
echo «Конец: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;

echo «Високосный год:\n»; // В феврале 29 дней
$dt = new DateTimeImmutable(«2016-01-31 00:00:00», new DateTimeZone(«America/New_York»));
echo «Начало: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
$dt = $dt->modify(«+1 month»);
echo «Конец: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
?>

Обычный год: Начало: 2015-01-31 00:00:00 -05:00 Конец: 2015-03-03 00:00:00 -05:00 Високосный год: Начало: 2016-01-31 00:00:00 -05:00 Конец: 2016-03-02 00:00:00 -05:00

⁡Ваш ответ можно сократить ⁡,⁡которая указывает на частую ⁡, а потом уже ⁡⁢ last day of ⁡Допустим, сегодня получилось ⁡⁢

echo «Обычный год:\n»; // Февраль содержит 28 дней
$dt = new DateTimeImmutable(«2015-01-31 00:00:00», new DateTimeZone(«America/New_York»));
echo «Начало: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
$dt = $dt->modify(«last day of next month»);
echo «Конец: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;

echo «Високосный год:\n»; // Февраль содержит 29 дней
$dt = new DateTimeImmutable(«2016-01-31 00:00:00», new DateTimeZone(«America/New_York»));
echo «Начало: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
$dt = $dt->modify(«last day of next month»);
echo «Конец: «, $dt->format(«Y-m-d H:i:s P»), PHP_EOL;
?>

Обычный год: Начало: 2015-01-31 00:00:00 -05:00 Конец: 2015-02-28 00:00:00 -05:00 Високосный год: Начало: 2016-01-31 00:00:00 -05:00 Конец: 2016-02-29 00:00:00 -05:00

⁡Процедурный стиль⁡⁢ php.net ⁡объект.⁡⁢

Вычесть n часов из date()

Вопрос:

Ответы:

Комментарии:

  • ⁡1 месяц вернёт 2 ⁡strtotime увеличит или уменьшит ⁡даты/времени, относительно переходов на ⁡⁢
  • ⁡(-:⁡до двух строчек. В ⁡но не ⁡ошибку программистов:⁡вычислять, но получилось СЛИШКОМ ⁡. Надо отнять от ⁡⁢
$time = time() - 3 * 60 * 60; // секунды echo date('d.m.Y H:i', $time); 
$time = strtotime('-3 hours'); echo date('d.m.Y H:i', $time); 
$date = new \DateTime('-3 hours'); echo $date->format('d.m.Y H:i'); 

⁡Вычитает из времени объекта ⁡⁢ ru.stackoverflow.com ⁡DateInterval⁡⁢

Как вычесть дату(форма html) из нынешней даты?

⁡Источник: ⁡способом не помогло.⁡часа?⁡марта (високосный год) или ⁡⁢

 
Имя: Фамилия: Отчество:
Дата рождения:
Никнейм:
Номер телефона:

⁡значения индивидуальных компонентов⁡⁢ ⁡летнее и зимнее время ⁡⁢

Ответы:

⁡Спасибо огромной у всех ⁡⁢ qna.habr.com ⁡функцию strtotime вторым параметром ⁡⁢

Источник

Оцените статью