首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示给定日期数组中的活动月份和非活动月份

如何显示给定日期数组中的活动月份和非活动月份
EN

Stack Overflow用户
提问于 2015-01-12 10:45:19
回答 3查看 475关注 0票数 2

我需要一个显示活动和非活动月份的php函数。

我的阵列:

代码语言:javascript
复制
$dates = array('2014-08','2014-09','2014-11','2014-12','2015-02',)

预期产出:

代码语言:javascript
复制
2014-08 Active   
2014-09 Active    
2014-10 Inactive    
2014-11 Active    
2014-12 Active    
2015-01 Inactive    
2015-02  Active
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-12 10:57:45

这应该适用于你:

代码语言:javascript
复制
<?php

    $dates = array('2014-08', '2014-09', '2014-11', '2014-12', '2015-02');
    $begin = new DateTime($dates[0]);
    $end = new DateTime(end($dates) . "+1 month");
    $interval = new DateInterval('P1M');
    $daterange = new DatePeriod($begin, $interval ,$end);

    foreach($daterange as $date)
        echo $date->format("Y-m") . (in_array($date->format("Y-m") , $dates) ? " active" : " inactive") . "<br />"; 


?>

输出:

代码语言:javascript
复制
2014-08 active
2014-09 active
2014-10 inactive
2014-11 active
2014-12 active
2015-01 inactive
2015-02 active
票数 0
EN

Stack Overflow用户

发布于 2015-01-12 11:04:58

试试下面的代码:参考文献

代码语言:javascript
复制
<?php
 $dates = array('2014-08', '2014-09', '2014-11', '2014-12', '2015-02');
 $begin = new DateTime( '2014-08' );
 $end = new DateTime( '2015-02' );
 $end = $end->modify( '+1month' ); 

 $interval = new DateInterval('P1M');
 $daterange = new DatePeriod($begin, $interval ,$end);

 foreach($daterange as $date){
  if(in_array($date->format("Y-m") , $dates)){
 echo $date->format("Y-m") . "Active"."<br>";
 }else{
 echo $date->format("Y-m") . "Inactive"."<br>";
 }
 }?>
票数 0
EN

Stack Overflow用户

发布于 2015-01-12 16:12:32

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27900188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档