@BjornBorn

Как узнать, сколько дней осталось до Нового Года?

Изучаю функции даты и времени.
Изучил функции:

time
mktime
date
strtotime
date_create
date_modify
date_format


Зная эти функции нужно узнать сколько дней осталось до Нового Года.
Скрипт должен работать в любом году.
Я сделал вот так:
<?php

$now = date('z');

$newYear = date('z', mktime(23, 59, 59, 12, 31, 2024));

echo $newYear - $now;

Но это только в этом году, а как сделать чтобы скрипт работал в любом году?
  • Вопрос задан
  • 257 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
echo (new DateTimeImmutable('first day of January next year'))
    ->diff(new DateTimeImmutable())
    ->format('Осталось дней: %a');
// Осталось дней: 151
Ответ написан
@Everything_is_bad
Но это только в этом году, а как сделать чтобы скрипт работал в любом году?
т.е. ты смотреть на код и реально не понимаешь, код другой год сделать? Давай думать логически, ты знаешь как получать текущую дату? А наверно из текущей даты еще и текущий год можно узнать?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@eminsk
программирую на python
<?php
$now = date_create();
$nextNewYear = date_create(date('Y') + 1 . '-01-01');
$diff = date_diff($now, $nextNewYear);
echo $diff->days;
?>


Этот код будет корректно работать в любом году, так как он динамически определяет текущий год и рассчитывает дату следующего Нового Года.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы