PHP 怎么列出来某一个日期距离现在的日期
怪我咯
怪我咯 2017-04-10 15:14:37
[PHP讨论组]

比如
$aa="2013-12-25";
$bb=time();
我想列出2013-12距离现在的月份

array(12) {
[1] => string(6) "2013-12"
[2] => string(6) "2014-1"
[3] => string(6) "2014-2"
[4] => string(6) "2014-3"
[5] => string(6) "2014-...."
}

现在只能列出当年的当前月份
for ($i = 1; $i <= date('m'); $i++) {
$dates[$i] = date('Y-'.$i, strtotime(date("Y-m-d")));
}

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
怪我咯
echo (new DateTime('2013-12'))->diff(new DateTime(date('Y-m')))->format('%y year %m month %d days');

结果是从目标时间到今天已经过去几年几月几天

年x12+month = 已经过去几个月

$date = new DateTime('2013-12');
$now = date('Ym');
$months = array();
while ($date->format('Ym')<=$now) {
    array_push($months, $date->format('Y-m'));
    $date->modify('+1 month');
}
print_r($months);

获取目标时间到现在的月份详情

伊谢尔伦

两者时间戳相减

天蓬老师

$aa = '2013-12-25';
$a = strtotime($aa);
$b = array();
while($a<time()){
$b[] = date('Y-m',$a);
$a = strtotime('+1 month',$a);
}
var_dump($b);

写完发现和mcfog思路差不多

黄舟

这个问题貌似都有问题啊,
时间差出来了,那么,你一个月是按28天算,还是30天或31天算呢?
年是按365天还是366天算呢?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号