2014-09-26 179 views
1

我在PHP/Mysql中的周数计算中遇到了一些问题。这里是我的需要计算开始日期的周数

我有一个开始日期和时间例如“2014-09-27 00:00:00”星期六。因此,本周将作为 firstweek(即)1.如果当前日期是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 

所以请建议我该怎么做?

+1

计算当前的日期和7和起始日期,鸿沟之间有多少天本轮下跌,再加入1 – 2014-09-26 22:58:00

回答

1

您可以用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; 

这里是展示一个phiddle:http://phiddle.net/4

+0

感谢您的回复,它不工作,因为我给了这样的'$ datetime1 = new DateTime('2014-09-28'); // Sunday $ datetime2 = new DateTime('2014-10-04');'//星期六它会显示为1周,因为星期日到星期六是计算,但是显示2周。如果我想给'2014-10-05'表明2周是正确的。 – satheesh 2014-09-26 23:26:27

+0

@satheesh我很抱歉,但我不认为我跟着你想要这个计算是如何工作的。 – Schlaus 2014-09-26 23:29:44