在php中查找一周中的哪一天已经结束或尚未到来


find the day of the week is finished or yet to come in php

例如,今天是星期三,如果用户在星期一输入,我需要说星期一已经过去了2天,如果想在php中找到它,我尝试了这个

      $S="2014-04-30 10:30:00";
      $firstDayOfWeek = 1; 
      $dateTime = new DateTime($s); 
      $difference = ($firstDayOfWeek - $dateTime->format('N'));
      echo $difference;
      echo "<br>";
      if ($difference > 0) { $difference -= 7; }
      $dateTime->modify("$difference days");
      var_dump($dateTime->format('r'));

尝试

$S="2014-04-30 10:30:00";
echo   $day_of_week = date('N'); // 3  - which will return 1 for Sunday through to 7 for Saturday
echo $day_of_my = date('N', strtotime($S)); // 3
//or $day_of_week = date('N', strtotime('Monday'));
$diff_days = $day_of_week - $day_of_my;  // 0
echo  'you are left'.$diff_days.' days';  // output 0
<?php
  $days = array(
    'Monday',
    'Tuesday',
    'Wednesday',
    'Thursday',
    'Friday',
    'Saturday',
    'Sunday',
  );
  $today = new DateTime();
  //$today = new DateTime('Friday'); //can set specific day if needed
  print "Today is " . $today->format('l') . "'n";
  foreach($days as $day) {
    $diff = new DateTime($day);
    $diff = $diff->format('N') - $today->format('N');
    if($diff > 0) {
      print "$day is $diff days in the future'n";
    }
    elseif($diff < 0) {
      $diff = abs($diff);
      print "$day is $diff days in the past'n";
    }
    else {
      print "$day is today'n";
    }
  }