我正在尝试编写一个可以计算当前学年的脚本。

学年从每年的 8 月 1 日开始。

我如何根据当前日期确定我们所在的学年。

IE
2012 年 7 月 31 日 (20120631) 将计算为 2011/2012

2012 年 8 月 13 日 (20120801) 将计算为 2012/2013

目前这就是我所拥有的,但它不是很好,因为我不想定义日期并且它不会返回正确的学年,只是最初定义的 $academic_start_date。

function check_in_range($start_date, $end_date, $date_from_user)
{
  // Convert to timestamp
  $start_ts = strtotime($start_date);
  $end_ts = strtotime($end_date);
  $user_ts = strtotime($date_from_user);

  // Check that user date is between start & end
  return (($user_ts >= $start_ts) && ($user_ts <= $end_ts));
}


$academic_start_date = '20110801';
$academic_end_date = '20120731';
$startdate = '20120813';

$acyear_check = check_in_range($academic_start_date, $academic_end_date, $startdate);
if ($acyear_check == 1) { $acyear = $academic_start_date;}
else { $acyear = '';}

最佳答案

$time = ??;// here you put timestamp, it also may be strtotime(smth);

$year = date('Y', $time);
if(date('n', $time) < 8)
     $ayear = ($year - 1).'/'.$year;
else
    $ayear = ($year).'/'.($year + 1);

对于您的格式:
$datestr = 'YYYYmmdd';
$year = substr($datestr, 0, 4);
if(intval(substr($datestr,4,2)) < 8)
     $ayear = ($year - 1).'/'.$year;
else
    $ayear = ($year).'/'.($year + 1);

关于Php - 算出它是哪一学年,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11937526/

10-14 13:03