从开始日期开始计算周数


calculate week number from start date

我在PHP/Mysql中计算周数时遇到了一些问题。这是我需要的

我有一个开始的日期和时间,例如"2014-09-27 00:00:00"星期六。因此,本周将被视为第一周。如果当前日期为2014-10-03 12:16:11,则将显示为第二周;如果当前日期是2014-10-08 09:09:12,则显示为第三周。那么,我如何从开始日期计算当前日期的周数呢。

2014-09-21 to 2014-09-27 is 1 week
2014-09-28 to 2014-10-04 is 2 week
2014-10-05 to 2014-10-11 is 3 week // It will continue

所以请建议我该怎么做?

您可以使用DateTime对象执行此操作:

$datetime1 = new DateTime('2014-09-28');
$datetime2 = new DateTime('2014-10-04');
$interval = $datetime1->diff($datetime2);
// Output the difference in days, and convert to int
$days = (int) $interval->format('%d');
// Get number of full weeks by dividing days by seven,
// rounding it up, and adding one since you wanted start
// day to be week one.
$weeks = ceil($days / 7) + 1;

下面是一个演示包:http://phiddle.net/4