Задать вопрос
@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;

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


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

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

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