2017-01-31 3 views
1

Может кто-нибудь помочь мне, как найти на прошлой неделе дату начала или окончания срока использования CurrentDateкак найти последнюю неделю с сегодняшнего дня?

Предположим, я имею дата сегодня: -

enter code here 
date('y-m-d') = 2017-01-31 today is Tuesday 

Так я хочу на прошлой неделе, дату начала и окончания вывода даты, как

enter code here 

last Week starting date:- 2017-01-23 
last week ending date :- 2017-01-29 

может кто-нибудь HLP мне, как это сделать

+0

Дубликат: http://stackoverflow.com/questions/6086389/php-date-format-yyyy-mm-dd-minus-or-add-one-week-from-now –

+0

Возможный дубликат [ php date yYYY-MM-DD минус или добавить через неделю?] (http://stackoverflow.com/questions/6086389/php-date-format-yyyy-mm-dd-minus-or-add-one- неделю-с-сейчас) –

+0

я хочу найти с сегодняшней датой не статически – kunal

ответ

2

сначала получить номер недели, чем получить на предыдущей неделе и получить его дату.

$ddate = "2017-1-31"; 
$date = new DateTime($ddate); 
$week = $date->format("W"); 
$year = $date->format("o"); 
var_dump($week); 
function etStartAndEndDate($week, $year) { 
    $dto = new DateTime(); 
    $dto->setISODate($year, $week); 
    $ret['week_start'] = $dto->format('Y-m-d'); 
    $dto->modify('+6 days'); 
    $ret['week_end'] = $dto->format('Y-m-d'); 
    return $ret; 
} 
    $day=etStartAndEndDate($week-1,$year); 
var_dump($day) 
+0

спасибо вам, я хочу поблагодарить вас, наконец, вы поняли мою проблему еще раз спасибо – kunal

+0

в одну минуту мне нужно улучшить –

+0

ok еще одна вещь, если вы хотите получить следующую неделю, как я могу это сделать, я жду вашего ответа – kunal

1

Вы можете сделать это легко с помощью date и strtotime функции таким образом:

echo "today is: ".date("m/d/Y", strtotime("today"))."<br/>"; 
echo "last Week starting date: ".date("m/d/Y", strtotime("last week monday"))."<br/>"; 
echo "last Week ending date: ".date("m/d/Y", strtotime("last week sunday")); 
+0

благодарим вас за ответ, если я хочу получить вторую неделю этого месяца, как я могу получить – kunal

+0

'strtotime (« второй понедельник $ month $ year »)'. проверьте это [demo] (https://eval.in/727348) – bansi

+0

, вы всегда можете использовать strtotime, делая что-то вроде этого: 'date ('d', strtotime ('second mon of январь 2017'))'; –

1

У меня есть пример проверки .. попробуйте, это может вам помочь.

date_default_timezone_set('UTC'); 
$firstDayOfLastWeek = mktime(0,0,0,date("m"),date("d")-date("w")-6); 
$lastDayOfLastWeek = mktime(0,0,0,date("m"),date("d")-date("w")-0); 
echo("Last week began on: ".date("d.m.Y",$firstDayOfLastWeek)); 
echo("<br>"); 
echo("Last week ended on: ".date("d.m.Y",$lastDayOfLastWeek)); 
Смежные вопросы