1

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

例如

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

谁能给我一个提示或教程如何实现?

4

2 回答 2

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() 函数在这种情况下是否正常工作,但我认为这一点已经通过

祝你好运

于 2012-04-14T10:48:53.183 回答
0

Date('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')));
}
于 2012-04-14T11:21:08.100 回答