Уроки PHP #8 Функции для работы с датой и временем

preview_player
Показать описание
Восьмой урок из кура Php c 0 до профи.
В этом видео уроке рассмотрены следующие темы:
-Работа с функцией Date()
-Временные метки time(),mktime(),strtotime()
-Основы работы с классом DateTime()
-Определяем с помощью microtime - время работы скрипта
-Практика создания функции GMT

Ссылка на исходники урока:

Поддержать канал автора:
Юмани 4100117894793599
Рекомендации по теме
Комментарии
Автор

Отлично! Дима двинулся дальше! Дима понял FOrEach, и вот теперь уже Дима умный!!!! Дима дружит с цыпленком!

dimalink
Автор

в задании надо вывести часы а не дни, сделал 2 вида:

$now = time()/3600;
$ny = mktime (23, 59, 59, 12, 31, 2024)/3600;
$s = floor($ny - $now);
echo $s ."<br>";
function ny($ny){
$ny = floor (mktime (0, 0, 0, 1, 1, 25)/3600 - time()/3600);
return $ny;
}
echo ny(time());

tquwyfr
Автор

получилось
$date_2024 = mktime(23, 59, 59, 12, 31, 2023);
$day =
echo "до НГ осталось = ", $day, " дней";

проблема была скобки нужно было добавить!

povlian
Автор

function timeToNewYear1(){
$calculation = time() - strtotime('31 December 23 hours 49 seconds');
$resultat = $calculation/3600;
return $resultat;
}
echo floor(timeToNewYear1());

valentinebabenko
Автор

В два варианта сделал:
Первый:

echo "<h3>1</h3>";
$dateStart = new
$dateEnd = new
function DateWait(DateTimeImmutable $dateStart, DateTimeImmutable $dateEnd){
$interval = $dateEnd->diff($dateStart);
$format_interval = $interval->format("%a") * 24;
return $format_interval . " hours";
}

echo "<br>";
echo DateWait($dateStart, $dateEnd);

Второй:

echo "<h3>2</h3>";

function myGetDate(int $dateStart, int $dateEnd){
$result = floor(($dateEnd - $dateStart) / 3600);
return $result;
}
echo "<br>";
echo myGetDate(time(), mktime(23, 59, 59, 12, 31, 2024));

woodenHorses
Автор

Решил следующим образом:
$date2024 = time();
$date2025 = strtotime('31 december 2024');
$HappyNewYear2025 =($date2025 - $date2024);
echo
Это то, сколько часов осталось до НГ

nikitatsarev
Автор

А я дни посчитал)), и еще добавил падежи для слова "дней:
$days_left = floor((strtotime('1 Jan 2025')-time())/60/60/24);
$days_padezh = 'дней';
if ($days_left==11) {
$days_padezh="дней";
} else if($days_left % 10 == 1) {
$days_padezh="день";
} else if($days_left % 10 ==2||$days_left % 10==3||$days_left % 10==4) {
$days_padezh="дня";
}
echo "До Нового года осталось $days_left $days_padezh";

xbprutk
Автор

у меня не получается, не знаю где ошибка

$new_2024 = mktime(23, 59, 59, 12, 31, 2023);
$day =
echo "осталось до НГ= ", $day, " дней";


выдает=> осталось до НГ= 1704063274 дней (наверное, секунд)

povlian
Автор

<?php
$timeNow = time();
$newYear = mktime(0, 0, 0, 1, 1, date('Y') + 1);
$toNewYear = ($newYear - $timeNow) / (60*60*24);
echo "There are ", floor($toNewYear), " days left until the new year";

?>

ZuraevD