在PHP中获取从当前月份到年底的月份名称
我已经从我的数据库中获取了一个当前月份,它基本上是用户的加入日期。假设这个月加入了使用,现在是五月。我获取月份名称的代码如下所示:在PHP中获取从当前月份到年底的月份名称,php,arrays,date,Php,Arrays,Date,我已经从我的数据库中获取了一个当前月份,它基本上是用户的加入日期。假设这个月加入了使用,现在是五月。我获取月份名称的代码如下所示: $months = array(); array_push($months,date("F",strtotime($me['joinTime']))); 在本例中,我将开始月份添加到数组中,在本例中是May。。。现在我想做的是,随着月份的推移,我想将每个新的月份添加到数组中。。例如,几天后是六月,当六月开始的时候,我会把这个月也添加到数组中。。因此,我的问题是,如
$months = array();
array_push($months,date("F",strtotime($me['joinTime'])));
在本例中,我将开始月份添加到数组中,在本例中是May。。。现在我想做的是,随着月份的推移,我想将每个新的月份添加到数组中。。例如,几天后是六月,当六月开始的时候,我会把这个月也添加到数组中。。因此,我的问题是,如何从5月的开始日期开始获取其余月份的名称
我需要六月,七月,八月,九月,十月,十一月,十二月
如果开始月份是四月,我也会把五月加入数组
有人能帮我解决这个问题吗?首先你需要得到月数,然后你需要使用一个循环直到年底,即12。对于每个月号,您还需要月名,因此请使用DateTime createFromFormat
首先你们需要得到月数,然后你们需要使用一个循环直到年底,也就是12。对于每个月号,您还需要月名,因此请使用DateTime createFromFormat
你也可以这样说
$array = array();
array_push($array, date('F')) ;
for ($i=1; $i<= 12 - date('m'); $i++ ){
array_push($array, date('F', strtotime("+$i months"))) ;
}
print "<pre>";print_r($array);
你也可以这样说
$array = array();
array_push($array, date('F')) ;
for ($i=1; $i<= 12 - date('m'); $i++ ){
array_push($array, date('F', strtotime("+$i months"))) ;
}
print "<pre>";print_r($array);
这里我们将使用DatePeriod,它允许在一组日期和时间上进行迭代,在给定的时间段内定期重复 我们得到了结束日期和开始日期,然后计算了时间间隔。然后在这段时间内循环,我们得到了月的数组
这里我们将使用DatePeriod,它允许在一组日期和时间上进行迭代,在给定的时间段内定期重复 我们得到了结束日期和开始日期,然后计算了时间间隔。然后在这段时间内循环,我们得到了月的数组
你需要把去年的最后一个月定下来。是的,但我怎么做呢。。你能给我一个答案吗?如果有效的话,我可以接受。你的答案已经准备好了。你还没有接受这个,尽管它对你有效:是的,你需要在得到帮助后接受答案,否则我们很长时间都不能为你服务。你需要确定一个上个月和一年的时间。是的,但我怎么做呢。。你能回答一个答案,这样我就可以接受它,如果它工作了吗?你的答案已经准备好了。你还没有接受这个,虽然它对你有用:是的,你需要在得到帮助后接受答案,否则我们将无法为你提供很长时间。嘿,谢谢它的工作,只是对代码进行了一点修改:date\u create\u from\u format'!m',$i;DateTime::createFromFormat由于某种原因向我抛出一个错误。。。我在这里写评论的方式很好尝试使用此\DateTime::createFromFormat'!m',$i;,使用前面的'before the DateTime'。嘿,谢谢它能工作,只是对代码做了一点修改:date\u create\u from\u format'!m',$i;DateTime::createFromFormat由于某种原因向我抛出一个错误。。。我在这里写评论的方式很好尝试使用此\DateTime::createFromFormat'!m',$i;,使用前面的“日期时间之前”。
// current date : 20 Feb 2019
$startDate = new \DateTime('first day of next month');
$endDate = new \DateTime('1st january next year');
$interval = new \DateInterval('P1M');
$period = new \DatePeriod($startDate, $interval, $endDate);
// Start array with current date
$dates = [];
// Add all remaining dates to array
foreach ($period as $date) {
array_push($dates, $date->Format('F'));
}
// output
print_r($dates); die;
Array ( [0] => March [1] => April [2] => May [3] => June [4] => July [5] => August [6] => September [7] => October [8] => November [9] => December )