如何计算从当前YEAR
到今天已经过的星期日数。我还想计算从当前MONTH
到今天已经过的星期日数。
例如
today is 14 April 2012 I should get 2 for the Number of Sundays
that are passed from the current month.
任何人都可以给我一个提示或教程如何实现这一目标吗?
答案 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')));
}