如何以特定格式在php中显示从今天开始的下3个日期?

时间:2018-09-28 12:15:33

标签: php laravel datetime

我正尝试从今天起打印3天。这段代码可以正常工作,但是我需要使用“ 2018 Sept,29”这样的日期格式。更改格式会不断给我错误。

<?php
// Set timezone
date_default_timezone_set('AFRICA/LAGOS');

// Start date
$date = date('Y-m-d');
// End date
$end_date = date('Y-m-d', strtotime("+3 days"));

while (strtotime($date) <= strtotime($end_date)) {
    $date=DateTime::createFromFormat('Y-m-d', $date)->modify('+1 day')->format('Y-m-d');
    echo $date.', ';
}
echo "<br><br>";
?>

4 个答案:

答案 0 :(得分:4)

您可以轻松地通过date()for()循环来做到这一点:-

<?php

date_default_timezone_set('AFRICA/LAGOS');

$date = date('Y-m-d');
for($i =1;$i<=3;$i++){
  echo $end_date = date('Y M,d', strtotime("+$i days"));
  echo PHP_EOL;
}

https://3v4l.org/YXZEe

一些实用的方法:

<?php

function getNextDatesFromCurrentDate($how_many_dates){
    date_default_timezone_set('AFRICA/LAGOS');

    for($i =1;$i<=$how_many_dates;$i++){
        echo $end_date = date('Y M,d', strtotime("+$i days"));
        echo PHP_EOL;
    }
}

getNextDatesFromCurrentDate(3);

https://3v4l.org/1vKVA

答案 1 :(得分:1)

Use Carbon library, to Add days
Like , 
$date = Carbon::today();
$nextday = $date->addDay();

答案 2 :(得分:0)

看看PHP date format documentation,您可以使用format('Y-F-d')用英语打印月份名称

或者您可以创建自己的函数,该函数将返回月份名称以及您提供的数字。

答案 3 :(得分:0)

将日期数量添加到特定日期。您需要将两个参数传递给strtotime()函数。

1。天数

2。开始日期

并将格式设置为“ 2018年9月29日”,则需要为date('Y M, d')函数提供正确的格式。

$start_date = date('Y-m-d');
$dates = collect();
foreach (range(1,3) as $number_of_days) {
    $dates->push(date('Y M, d', strtotime("+$number_of_days days", strtotime($start_date))));
}