【问题标题】:How to get an array of dates (specifically formatted) from today to a certain point in the past?如何获取从今天到过去某个时间点的日期数组(具体格式化)?
【发布时间】:2013-03-30 19:42:16
【问题描述】:

我想得到一个包含如下字符串的数组:2013-03、2013-02、2013-01、2012-12、2012-11...等

我会怎么做呢?我尝试使用循环和 DateInterval 类,但令人惊讶的是 30.March -1month 给了我们 2.March,所以这不是很有用。

$date = new DateTime();
$date->sub(DateInterval::createFromDateString('1 month'));

谢谢!

【问题讨论】:

标签: php arrays date datetime


【解决方案1】:

奇怪的是,PHP 使用“下个月”关键字返回某个日期的上个月:S

您可以执行以下操作:

<?php
$date = new DateTime();
// Subtract one month at a time
// until we reach 2009.
while ($date->format('Y') > 2009) {
    $date->sub(DateInterval::createFromDateString('next month'));
    var_dump($date->format('Y-m')); // Will print 2013-03 2013-02 [...]
};
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    相关资源
    最近更新 更多