获取PHP的全部星期五的日期 [英] Get the date of All Fridays in PHP

查看:175
本文介绍了获取PHP的全部星期五的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望使用PHP列出给定年份的所有星期五的日期。



阅读php.net日期和maketime函数后,我看不到我应该如何开始...





谢谢,
Crak

解决方案

我相信DatePeriod可能是为了这样的问题。

 <?php 
函数getFridays($ year,$ format,$ timezone ='UTC')
{
$ fridays = array();
$ startDate = new DateTime({$ year} -01-01 Friday,new DateTimezone($ timezone));
$ year ++;
$ endDate = new DateTime({$ year} -01-01,new DateTimezone($ timezone));
$ int = new DateInterval('P7D');
foreach(new DatePeriod($ startDate,$ int,$ endDate)as $ d){
$ fridays [] = $ d-> format($ format);
}

return $ fridays;
}

$ fridays = getFridays('2010','F j,Y,g​​:i a T','America / New_York');
print_r($ fridays);
?>

输出

  Array 

[0] => 2010年1月1日,星期五
[1] => 2010年1月8日,星期五
[2] => 2010年1月15日,星期五
[3] => 2010年1月22日,星期五
[4] => 2010年1月29日,星期五
[5] => 2010年2月5日,星期五
[6] => 2010年2月12日,星期五
[7] => 2010年2月19日,星期五
[ 8] => 2010年2月26日,星期五
[9] => 2010年3月5日,星期五
[10] => 2010年3月12日,星期五
[11] => 2010年3月19日,星期五
[12] => 2010年3月26日,星期五
[13] => 2010年4月2日,星期五
[14] => ; 2010年4月9日,星期五
[15] => 2010年4月16日,星期五
[16] => 2010年4月23日,星期五
[17] =& 2010年4月30日
[18] => 2010年5月7日,星期五
[19] => 2010年5月14日,星期五
[20] => 21,2010
[21] => 2010年5月28日,星期五
[22] => 2010年6月4日,星期五
[23] => 2010年6月11日,星期五
[24] => 2010年6月18日,星期五
[25] => 2010年6月25日,星期五
[26] => 2010年7月2日,星期五
[27] => 2010年7月9日,星期五
[28] => 2010年7月16日,星期五
[29] => 2010年7月23日,星期五
[30] => 2010年7月30日,星期五
[31] => 2010年8月6日,星期五
[32] => 2010年8月13日,星期五
[33] => 2010年8月20日,星期五
[34] => 2010年8月27日,星期五
[35] => 2010年9月3日,星期五
[36] => 2010年9月10日星期五
[37] => 2010年9月17日,星期五
[38] => 2010年9月24日,星期五
[39] => 2010年10月1日,星期五
[40] => 2010年10月8日,星期五
[41] => 2010年10月15日,星期五
[42] => 2010年10月22日,星期五
[43] => 2010年10月29日,星期五
[44] => 2010年11月5日,星期五
[45] => 2010年11月12日,星期五
[46] => 2010年11月19日,星期五
[47] => 2010年11月26日,星期五
[48] => 2010年12月3日,星期五
[49] => 2010年12月10日,星期五
[50] => 2010年12月17日,星期五
[51] => 2010年12月24日,星期五
[52] => 2010年12月31日,星期五


I looking to list the date of all fridays in a given year using PHP.

After reading php.net date and maketime function, I do not see how I should start...

Can you guys give me a hand on this ?

Thanks, Crak

解决方案

I believe DatePeriod might have been made for a problem like this.

<?php
function getFridays($year, $format, $timezone='UTC')
{
    $fridays = array();
    $startDate = new DateTime("{$year}-01-01 Friday", new DateTimezone($timezone));
    $year++;
    $endDate = new DateTime("{$year}-01-01", new DateTimezone($timezone));
    $int = new DateInterval('P7D');
    foreach(new DatePeriod($startDate, $int, $endDate) as $d) {
        $fridays[] = $d->format($format);
    }

    return $fridays;
}

$fridays = getFridays('2010', 'F j, Y, g:i a T', 'America/New_York');
print_r($fridays);
?>

Output

Array
(
    [0] => Friday, January 1, 2010
    [1] => Friday, January 8, 2010
    [2] => Friday, January 15, 2010
    [3] => Friday, January 22, 2010
    [4] => Friday, January 29, 2010
    [5] => Friday, February 5, 2010
    [6] => Friday, February 12, 2010
    [7] => Friday, February 19, 2010
    [8] => Friday, February 26, 2010
    [9] => Friday, March 5, 2010
    [10] => Friday, March 12, 2010
    [11] => Friday, March 19, 2010
    [12] => Friday, March 26, 2010
    [13] => Friday, April 2, 2010
    [14] => Friday, April 9, 2010
    [15] => Friday, April 16, 2010
    [16] => Friday, April 23, 2010
    [17] => Friday, April 30, 2010
    [18] => Friday, May 7, 2010
    [19] => Friday, May 14, 2010
    [20] => Friday, May 21, 2010
    [21] => Friday, May 28, 2010
    [22] => Friday, June 4, 2010
    [23] => Friday, June 11, 2010
    [24] => Friday, June 18, 2010
    [25] => Friday, June 25, 2010
    [26] => Friday, July 2, 2010
    [27] => Friday, July 9, 2010
    [28] => Friday, July 16, 2010
    [29] => Friday, July 23, 2010
    [30] => Friday, July 30, 2010
    [31] => Friday, August 6, 2010
    [32] => Friday, August 13, 2010
    [33] => Friday, August 20, 2010
    [34] => Friday, August 27, 2010
    [35] => Friday, September 3, 2010
    [36] => Friday, September 10, 2010
    [37] => Friday, September 17, 2010
    [38] => Friday, September 24, 2010
    [39] => Friday, October 1, 2010
    [40] => Friday, October 8, 2010
    [41] => Friday, October 15, 2010
    [42] => Friday, October 22, 2010
    [43] => Friday, October 29, 2010
    [44] => Friday, November 5, 2010
    [45] => Friday, November 12, 2010
    [46] => Friday, November 19, 2010
    [47] => Friday, November 26, 2010
    [48] => Friday, December 3, 2010
    [49] => Friday, December 10, 2010
    [50] => Friday, December 17, 2010
    [51] => Friday, December 24, 2010
    [52] => Friday, December 31, 2010
)

这篇关于获取PHP的全部星期五的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆