使用PHP和MySQL计算6个月的周期

时间:2012-08-30 03:38:04

标签: php mysql date period date-arithmetic

晚上好。

如何计算6个月(学期或两学期)的学期?

解释: 有一个电子表格,我将转换为MySQL数据库,其中包含以下相关列课程开始持续时间课程是一个字符串字段,与另一个表中的信息相结合,返回持续时间开始字段是该课程开始的一年学期(如2010-2是二千一百学期)。持续时间是年数。

格式

表1

**Course**       **Begin**
Graduation 1     2010-1

表2

 **Course**      **Duration**
 Graduation 1    4,5

2010-1意味着2010年第一学期和4,5(实际为4。5年 - 四点五年)意味着四年半,这给出了像2014-1这样的最终日期。 遗憾的是,字段格式来自另一个我无法更改的数据库,我只能导入数据。

这可能很简单,也可能非常简单。

[编辑] 我希望现在是正确的。 [编辑] 这将从第一个DB导入,计算并导入到另一个DB。

1 个答案:

答案 0 :(得分:1)

MySQL没有对学期的标准支持,因此您必须先转换为月份(也支持季度,但在日期工作数月会更容易)。

这意味着您需要将“2010-01-01”替换为“2010-01-01”,将“2010-2”替换为“2010-07-01”。这可以通过REPLACE($begin, '-1', '-01-01')REPLACE($begin, '-2', '-07-01')完成。

对于每个学期,您可以添加6个月:DATE_ADD('2010-01-01', INTERVAL 6 MONTH)将返回“2010-07-01”。将“持续时间”乘以12,这将给出“开始”所需的月数。