计算当前年度和当月的星期日数量?

时间:2012-04-14 10:25:53

标签: php

如何计算从当前YEAR到今天已经过的星期日数。我还想计算从当前MONTH到今天已经过的星期日数。

例如

today is 14 April 2012 I should get 2 for the Number of Sundays
that are passed from the current month.

任何人都可以给我一个提示或教程如何实现这一目标吗?

2 个答案:

答案 0 :(得分:5)

我想使用date()函数

就足够了
//will give you the amount of sundays from the begining of the year
$daysTotal = ceil((date("z") - date("w")) / 7); 
//will give you the amount of sundays from the begining of the month
$daysTotal = ceil((date("j") - date("w")) / 7); 

我没有测试它,你可能想检查round()函数是否在这种情况下正常工作但是我认为这个点已经过了

祝你好运

答案 1 :(得分:0)

日期('W')可能对您有所帮助。检查php手册的格式 - http://php.net/manual/en/function.date.php

不要忘记根据手册 - ISO-8601周数,星期一开始的星期。 因此即使这不是星期天,本周也将被计算在内。因此,在这种情况下,将数字减少1。

function get_sunday_since_year_start($today=null)
{
  if($today==null) $today = time();

  if(date('D',$today)=='Sun')
    return Date('W',$today);
  else
    return Date('W',$today)-1;
}

function get_sunday_since_month_start()
{
   return get_sunday_since_year_start()-get_sunday_since_year_start(strtotime(date('Y-m-01 00:00:00')));
}