2010-11-29 2 views
0

У меня возникли проблемы с настройкой недельного диапазона в PHP.
У меня есть работа, чтобы показать текущую рабочую неделю, начиная с понедельника.
Так на этой неделе это показывает 11/29/2010 - 12/03/2010.Получите диапазон дат, охватывающий 2 недели бизнеса, начиная с текущего понедельника

Мне нужно изменить это, чтобы начать с понедельника текущего рабочего дня и даты показа и окончания двух пятниц с понедельника.

Так, например, в настоящее время он будет показывать дату начала 11/29/2010 и дату окончания 12/10/2010.

Вот мой код

<? 
$timestamp = time(); 
echo date("m/d/Y", strtotime("this monday", $timestamp)); 
echo " - "; 
echo date("m/d/Y", strtotime("Next Friday", $timestamp)); 
?> 

Как добавить +7 к "Следующая пятница"

ТНХ

ответ

1

Вы не можете использовать this monday построить время даты,
как он пошел пройти понедельник, он вернется в следующий понедельник

вот мое предложение

<? 
$current_wkday = date('N', time()); 
switch ($current_wkday) 
{ 
    /* assuming on sunday, get next monday */ 
    case 0: $this_monday = strtotime('+1 day'); break; 
    case 1: $this_monday = time(); break; 
    default: $this_monday = strtotime('-'.($current_wkday-1).'day'); break; 
} 

echo date("m/d/Y", $this_monday); /* 11days = 7+(5-1) */ 
echo " - "; 
echo date("m/d/Y", $this_monday+(86400*11)); 
?> 
1

Вместо strtotime("Next Friday", $timestamp) сделать strtotime("Next Friday", $timestamp) + 60*60*24*7 (добавить количество секунд в неделю) ,

+0

не будет этого начать на второй понедельник вместо пребывания в первоначальном 2-недельном диапазоне? – 2010-11-30 02:17:27

+0

@ Dirty Bird Design: Меня беспокоил только вопрос: как добавить +7 на «следующую пятницу». На самом деле ничего не тестировал :-) – cambraca 2010-11-30 02:22:05

1

Просто понял, что «предыдущий понедельник» работает только текущий день вторник или поздно ... но это отправная точка для вас ..

<?php 
    $monday = date('m/d/Y', strtotime("previous monday")); 
    $friday = date('m/d/Y', strtotime($monday . " + 11 days")); 
    echo $monday . ' - ' . $friday ; 
?> 
+0

Дрю - спасибо, человек, это была хорошая отправная точка, на самом деле все, что я делал, было изменением «предыдущий понедельник» до «этого понедельника». Кажется, что это работает, но я слежу за ним. – 2010-11-30 01:30:31

Смежные вопросы