获取PHP的全部星期五的日期 [英] Get the date of All Fridays in PHP
本文介绍了获取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屋!
查看全文