给定两个日期(开始日期和结束日期), 任务是返回数组中的所有日期。
范例1:在此示例中, 使用日期间隔类以DateTime格式存储固定的时间量(以年, 月, 日, 小时等为单位)或相对时间字符串。
<
?php// Function to get all the dates in given range
function getDatesFromRange( $start , $end , $format = 'Y-m-d' ) {// Declare an empty array
$array = array ();
// Variable that store the date interval
// of period 1 day
$interval = new DateInterval( 'P1D' );
$realEnd = new DateTime( $end );
$realEnd ->
add( $interval );
$period = new DatePeriod( new DateTime( $start ), $interval , $realEnd );
// Use loop to store date into array
foreach ( $period as $date ) {
$array [] = $date ->
format( $format );
}// Return the array elements
return $array ;
}// Function call with passing the start date and end date
$Date = getDatesFromRange( '2010-10-01' , '2010-10-05' );
var_dump( $Date );
?>
输出如下:
array(5) {[0]=>
string(10) "2010-10-01"[1]=>
string(10) "2010-10-02"[2]=>
string(10) "2010-10-03"[3]=>
string(10) "2010-10-04"[4]=>
string(10) "2010-10-05"}
范例2:这个例子使用strtotime()函数用于将英语文本日期时间描述转换为UNIX时间戳。成功返回时间戳, 否则返回False。
<
?php// Declare two dates
$Date1 = '01-10-2010' ;
$Date2 = '05-10-2010' ;
// Declare an empty array
$array = array ();
// Use strtotime function
$Variable1 = strtotime ( $Date1 );
$Variable2 = strtotime ( $Date2 );
// Use for loop to store dates into array
// 86400 sec = 24 hrs = 60*60*24 = 1 day
for ( $currentDate = $Variable1 ;
$currentDate <
= $Variable2 ;
$currentDate += (86400)) {$Store = date ( 'Y-m-d' , $currentDate );
$array [] = $Store ;
}// Display the dates in array format
print_r( $array );
?>
【在PHP数组中如何返回两个日期之间的所有日期()】输出如下:
Array([0] =>
2010-10-01[1] =>
2010-10-02[2] =>
2010-10-03[3] =>
2010-10-04[4] =>
2010-10-05)
推荐阅读
- 如何使用CSS创建波浪背景(代码示例)
- TypeScript数字valueOf()方法用法介绍
- JavaScript赋值运算符深入学习指南
- 雨林木风win8纯净版64位安装版最新系统推荐
- win7专业版原版最新系统推荐
- 深度技术windows7sp1专业版最新系统推荐
- 萝卜w7旗舰版最新系统推荐
- 雨林win10安全体验版最新系统推荐
- 系统之家官方原版win7旗舰版最新系统推荐