php中的开始和结束日期差异
我将要求用户输入开始日期和结束日期。我想得到从开始到结束的所有日期,以及这些日期之间的天数。在给定的开始日期和结束日期的PHP中如何实现这一点。将两个日期转换为时间戳,然后从一个日期计数到另一个日期,再转换回日期。处理日期时,可以按照Ignacio的建议转换为时间戳(秒)。但如果可能的话,通常情况下,你最好在更高的层次上处理实际的日期和天数 为此,请参见PHP中内置的DateTime类:php中的开始和结束日期差异,php,date,days,Php,Date,Days,我将要求用户输入开始日期和结束日期。我想得到从开始到结束的所有日期,以及这些日期之间的天数。在给定的开始日期和结束日期的PHP中如何实现这一点。将两个日期转换为时间戳,然后从一个日期计数到另一个日期,再转换回日期。处理日期时,可以按照Ignacio的建议转换为时间戳(秒)。但如果可能的话,通常情况下,你最好在更高的层次上处理实际的日期和天数 为此,请参见PHP中内置的DateTime类: PHP5.2很好地支持这些功能,但PHP5.3添加了更好的日期时间处理功能。这段代码的最终结果将是天数
PHP5.2很好地支持这些功能,但PHP5.3添加了更好的日期时间处理功能。这段代码的最终结果将是天数 $days=(标准时间(日期)(“Y-m-d”)-标准时间(“2010-08-20”)/(60*60*24);
回声$天 阅读我对本主题的回答,并举例说明:
根据用户提供的输入,我很可能会使用
$dateOne = (int)(mktime(0, 0, 0, $month1, $day1, $year1)/86400); //Get the first date as a unix timestamp, then convert to days.
$dateTwo = (int)(mktime(0, 0, 0, $month2, $day2, $year2)/86400); //Get the second date as a unix timestamp, then convert to days.
// Example
//$dateOne = (int)(mktime(0,0,0,12,03,2009)/86400);
//$dateTwo = (int)(mktime(0,0,0,08,19,2011)/86400);
$daysBetween = $dateTwo-$dateOne; //Calculate days between.
echo $daysBetween.'<br />'; //Echo the days between.
for ($i=1; $i=$daysBetween; $i++) { //Loop through every day between, echo the date of that day.
echo date('Y-m-d', $dateOne*86400+($i*86400)).'<br />';
}
致:
用于($i=2;$i)
for ($i=1; $i=$daysBetween; $i++) { //Loop through every day between, echo the date of that day.
for ($i=2; $i<=$daysBetween; $i++) { //Loop through every day between, echo the date of that day.