[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Задачка с определением учебной недели
MinorityMeaning
Есть кусочек, который умеет учебную неделю выводить (Верхняя/Нижняя неделя).
Нужно запилить его, чтобы выводил ещё и текущую пару (В зависимости от времени: 1/2/3/4/5/6 пара) и сколько осталось до перерыва/до занятия.

Пары идут по такому учебному режиму: 1пара (8:30-9:15[пятиминутка]9:20-10:05(пер10мин)
2пара (10:15-11:00[пятиминутка]11:05-11:50(перер10мин)
3пара (12:00-12:45[пятиминутка]12:50-13:35(перер30мин)
4пара (14:05-14:50[пятиминутка]14:55-15:40(перер10мин)
5пара (15:50-16:35[пятиминутка]16:40-17:25(перер10мин)
6пара (17:35-18:20[пятиминутка]18:25-19:10(Занятия окончены)


Воскресение выходной.

Вот, собственно говоря, скрипт (умеет только определять учебную неделю)


<?php
$result="";
$indexOfWeek=0;
$dateDif=0;
$dateTimeZone= new DateTimeZone("Asia/Yakutsk");
$currentDate = new DateTime(null,$dateTimeZone);
$currentYear=$currentDate->format("Y");
$startDateOfLastAutumTerm = new DateTime(($currentYear-1)."-09-01",$dateTimeZone);
$startDateOfSpringTerm = new DateTime($currentYear."-02-01",$dateTimeZone);
$startDateOfAutumTerm = new DateTime($currentYear."-09-01",$dateTimeZone);

$startDateOfWeekOfLastAutumTerm=$startDateOfLastAutumTerm->sub(new DateInterval("P".($startDateOfLastAutumTerm->format("N")-1)."D"));
$startDateOfWeekOfSpringTerm=$startDateOfSpringTerm->sub(new DateInterval("P".($startDateOfSpringTerm->format("N")-1)."D"));
$startDateOfWeekOfAutumTerm=$startDateOfAutumTerm->sub(new DateInterval("P".($startDateOfAutumTerm->format("N")-1)."D"));

if($currentDate<$startDateOfWeekOfSpringTerm)
{
$dateDif=$currentDate->diff($startDateOfLastAutumTerm)->format("%a");

}else if($currentDate<$startDateOfWeekOfAutumTerm && $currentDate>=$startDateOfWeekOfSpringTerm)
{
$dateDif=$currentDate->diff($startDateOfWeekOfSpringTerm)->format("%a");

} else if($currentDate>=$startDateOfWeekOfAutumTerm)
{
$dateDif=$currentDate->diff($startDateOfWeekOfAutumTerm)->format("%a");
}
$indexOfWeek = (int)floor(($dateDif)/7);
$weekName = ($indexOfWeek%2==0)?"Верхняя неделя":"Нижняя неделя";
?>
<div class="week_info">
<
p class="week_info_text"><?php echo $weekName; ?></p>
</
div>


Помогите сделать, вопрос имеет субъективную важность!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.