用php查找一周中的某一天已完成或尚未到来

用php查找一周中的某一天已完成或尚未到来,php,date,Php,Date,例如,今天是星期三,如果用户在星期一输入,我需要说星期一已经过去了2天,如果想在php中找到它,我尝试了这个 $S="2014-04-30 10:30:00"; $firstDayOfWeek = 1; $dateTime = new DateTime($s); $difference = ($firstDayOfWeek - $dateTime->format('N')); echo $difference; e

例如,今天是星期三,如果用户在星期一输入,我需要说星期一已经过去了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”;
$firstDayOfWeek=1;
$dateTime=新日期时间($s);
$difference=($firstDayOfWeek-$dateTime->format('N');
回声差;
回声“
”; 如果($difference>0){$difference-=7;} $dateTime->modify($difference days”); 变量转储($dateTime->format('r');
试试看


计算日期为$S=“2014-04-30 10:30:00”;或者dayname?我试过了,但效果并不完美,如果我们用dayname计算,它会更完美
$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";
    }
  }