加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Php – 计算学年

发布时间:2020-12-13 22:04:13 所属栏目:PHP教程 来源:网络整理
导读:我正在努力编写一个可以解决当前学年的脚本. 学年从每年的8月1日开始. 我如何根据当前日期确定我们所处的学年. 即 2012年7月31日(20120631)将成为2011/2012年 2012年8月13日(20120801)将成为2012/2013 目前这是我所拥有的,但它不是很好,因为我不想定义日期,
我正在努力编写一个可以解决当前学年的脚本.

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

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


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,4);
if(intval(substr($datestr,4,2)) < 8)
     $ayear = ($year - 1).'/'.$year;
else
    $ayear = ($year).'/'.($year + 1);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读