Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Уменьшение даты на 1 день
Форумы портала PHP.SU » » Вопросы новичков » Уменьшение даты на 1 день

Страниц (1): [1]
 

1. gliukus - 09 Января, 2012 - 18:41:22 - перейти к сообщению
Прошу помочь!

Как уменьшить дату на 1 день?

Есть дата в формате ГГГГ-MM-ДД (важно: дата не текущая, прошедшая), нужно уменьшить ее на 1 день.

Спасибо!
2. Panoptik - 09 Января, 2012 - 19:06:37 - перейти к сообщению
3. Okula - 09 Января, 2012 - 19:12:11 - перейти к сообщению
Работа с классом DateTime
PHP:
скопировать код в буфер обмена
  1. $date = "ГГГГ-ММ-ДД";
  2. $d = new DateTime($date);
  3. $d->modify("-1 day");
  4. echo $d->format("Y-m-d");
4. vectorserver - 09 Января, 2012 - 19:12:49 - перейти к сообщению
gliukus пишет:
Прошу помочь!

Как уменьшить дату на 1 день?

Есть дата в формате ГГГГ-MM-ДД (важно: дата не текущая, прошедшая), нужно уменьшить ее на 1 день.

Спасибо!


CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $date = date("Y-m-d");
  3. echo "Сегодня: ".$date."<br>";
  4. $yesterday = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-1, date("Y")));
  5. echo "Вчера: ".$yesterday;
  6. ?>
5. PATCH - 09 Января, 2012 - 19:25:26 - перейти к сообщению
Okula пишет:
Работа с классом DateTime
PHP:
скопировать код в буфер обмена

$date = "ГГГГ-ММ-ДД";

$d = new DateTime($date);

$d->modify("-1 day");

echo $d->format("Y-m-d")

ты чавэ, какие классы, раздел видел?)) p.s "для новичков".
6. gliukus - 09 Января, 2012 - 19:38:42 - перейти к сообщению
Okula пишет:
Работа с классом DateTime
PHP:
скопировать код в буфер обмена
  1. $date = "ГГГГ-ММ-ДД";
  2. $d = new DateTime($date);
  3. $d->modify("-1 day");
  4. echo $d->format("Y-m-d");


Спасибо! Воспользовался Вашей методом - все работает!

Всем спасибо!
7. Okula - 09 Января, 2012 - 20:37:29 - перейти к сообщению
PATCH пишет:
ты чавэ, какие классы, раздел видел?)) p.s "для новичков".

Это стандартные классы PHP. И уметь работать с ними новичкам нужно так же как и с статическими функциями. Тем более он куда удобнее чем высчитывать количество дней в секундах.
Таким же образом можно прибавлять/отнимать не только дни но и недели и т.д.
8. caballero - 09 Января, 2012 - 22:55:07 - перейти к сообщению
$date = "ГГГГ-ММ-ДД"

strtotime("-1 day",strtotime($date)),
9. Greider - 19 Января, 2017 - 14:25:42 - перейти к сообщению
А как вычесть один РАБОЧИЙ день?
10. Строитель - 19 Января, 2017 - 15:09:24 - перейти к сообщению
Greider пишет:
А как вычесть один РАБОЧИЙ день?
PHP:
скопировать код в буфер обмена
  1. if (date('w') > 0 && date('w') < 6) {
  2.     echo date('l');
  3. }
11. Sail - 19 Января, 2017 - 16:15:20 - перейти к сообщению
Greider, и ещё учесть переносы праздничных дней, выпадающих на выходные и переносы рабочих дней на выходные (тоже, наверное, бывает)... в соответствии с законодательством государства...

 

Powered by ExBB FM 1.0 RC1