获取两个日期之间的所有月份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取两个日期之间的所有月份相关的知识,希望对你有一定的参考价值。

参考技术A 三种方法
1.比较基本的 获取两个日期之间相差多少月份,然后逐月相加,当然,按12个月一循环,nowMonth//12为需要加的年份,nowMonth%12+1为月份数。

2.其实还是第一种思路,只是看着比较简洁

3.取巧的一种方法 我们知道pandas 的date_range方法可以取到两个日期之间所有的日期,然后我们日期格式只取年月,然后直接去重,就获得了所需月份。(set去重之后变成无序,所以用sort重新排序一下)

PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期

 1 $time1 = strtotime(‘2014-02-04‘); // 自动为00:00:00 时分秒 两个时间之间的年和月份  
 2 $time2 = strtotime(‘2015-02-06‘);  
 3    
 4 $monarr = array();  
 5 $monarr[] = ‘2014-02‘; // 当前月;  
 6 while( ($time1 = strtotime(‘+1 month‘, $time1)) <= $time2){  
 7       $monarr[] = date(‘Y-m‘,$time1); // 取得递增月;   
 8 }  
 9    
10 print_r($monarr);  

 

1 <?php  
2 //今天与2008年9月9日相差多少天  
3 $Date_1 = date("Y-m-d");  
4 $Date_2 = "2008-10-11";  
5 $d1 = strtotime($Date_1);  
6 $d2 = strtotime($Date_2);  
7 $Days = round(($d2-$d1)/3600/24);  
8 echo "今天与2008年10月11日相差" . $Days . "天";  
9 ?>  

 

 1 <?php  
 2 function prDates($start,$end){ // 两个日期之间的所有日期  
 3     $dt_start = strtotime($start);  
 4     $dt_end = strtotime($end);  
 5     while ($dt_start<=$dt_end){  
 6         echo date(‘Y-m-d‘,$dt_start)."\n";  
 7         $dt_start = strtotime(‘+1 day‘,$dt_start);  
 8     }  
 9 }  
10 prDates(‘2005-02-01‘,‘2005-02-05‘);  
11   
12 ?> 

 

以上是关于获取两个日期之间的所有月份的主要内容,如果未能解决你的问题,请参考以下文章

PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期

获取两个日期之间的月份范围

获取两个月份之间的相差的月份

如何使用查询获取两个给定日期之间的月份列表?

如何获取带有年份的月份名称和两个日期之间的年份列表

获取两个日期之间的月份