2013-04-14 99 views
2

我已经制作了一个表单,用户可以从一个calander中选择一个日期。它将返回d/m/Y,14,15/2013。根据用户输入的日期计算星期六

我需要的是跟进周六日期14/05/2013会有什么18/05/2013

日期字段称为:$_POST['field_3']

我一直strtotime,但挣扎没有更迭

我已经做了SOFAR:

<?php 

$today = $_POST['field_3']; 

$date = strtotime('d/m/Y','next Saturday', $today); 

$initialString = date('m/d/Y', $date); 

$end = date('m/d/Y', strtotime('next saturday 11:59 pm', $date)); 

echo $today ."<br>"; 
echo $initialString . ' - ' . $end; 

?> 

返回:

14/05/2013

01/01/1970 - 1970年1月3日

+0

注意'strtotime'最多只有2个参数。 – Boaz

回答

1

非常基本的,但是这可以帮助:

<?php 

$year    = 2013; // use substr() (or other stuff) to set these variables 
$month    = 5; 
$day    = 14; 

$newDate = mktime(0, 0, 0, $month, $day, $year); // creates a date with previous variables 

$dayOfWeek = date('w', $newDate);     // get the weekday number; 0 = sunday, ..., 6 = saturday 

$numberOfDaysTillNextSaturday = (6 == $dayOfWeek) ? 7 : (6 - $dayOfWeek); // how many days until next saturday ? If saturday = 6, otherwise = (Saturday - weekday) 

$nextSaturdayDate = $newDate + (86400 * $numberOfDaysTillNextSaturday); // creates a new date corresponding to next saturday 

$nextSaturdayString = date("d/m/Y", $nextSaturdayDate);      // formats the new date as (day)/(month)/(year) 

echo $nextSaturdayString;             // echoes the string 
?> 
+0

非常感谢,您在一天的这个时候指出了我的正确方向。现在是上午10点50分。 我不得不修改一些以从窗体中获得正确的输入,但是你关于subst()的提示确实帮了我很多。 现在我做到了: $ datum = $ _POST ['field_3']; $ year = substr($ datum,6); //使用substr()(或其他的东西)来设置这些变量 $ month = substr($ datum,4,2); $ day = substr($ datum,0,2); 它的工作原理是它应该工作。 Best 73's Frank – user2279057

相关问题