如何根据两位数开始年份计算当前学年?
问题描述:
我正在学校的一个web项目上工作,我需要知道他/她的唯一注册号码是哪一年特定的学生。如何根据两位数开始年份计算当前学年?
注册号看起来像UXXEEXXXX
,其中前两个XX
的代表用户加入了学校的一年中的最后两位数字,EEX
代表的部门,过去三年XXX
的代表的序列号学生根据他何时注册的时间。
例如,在U08EE1117
,U
代表本科,08
说,用户在2008年加入了学校,EE1
表示部门和1
还表示,用户从第一年开始,和117
意味着用户是第117位学生在部门注册。
我想用PHP来获得用户的当前级别,第一年为100级,第二年为200级,最后一年的学生为500级。
我所做的是这样的:
$yr = ((integer)substr($_SESSION["username"], 1,2));
$cur = substr(date("Y"), 2, 3);
$level = $cur - $yr;
其中$_SESSION["username"]
是注册号。
但我注意到这很多年来都不起作用。我想知道最简单的方法来解决这个问题。 (注册号码仅在100年内有效。)
答
我想说你已经有了一个好的开始。所有你需要做的是将100至差固定缠绕的问题,如果是负:
$yr = substr($_SESSION["username"], 1, 2);
$cur = date("y"); // two-digit year
$diff = $cur - $yr;
if ($diff < 0) $diff += 100;
这给出了历年的数量,因为学生开始,你也许会需要添加一个,如果目前的学年已经开始。然后,乘以100以获得您指定的级别。
是的,这比我放的答案更好! – craig1231 2013-04-24 22:54:13
啊,我现在看到,我明白了,像1999年和2001年那样,正常的减法给出了负值(即-2),加上100给出了2,因此用户处于200级别,作品感谢 – 2013-04-24 23:15:07