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

如何在php中以特定格式显示从今天开始的接下来3个日期?,php,laravel,datetime,Php,Laravel,Datetime,我想从今天开始的3天内打印出来。此代码工作正常,但我需要的日期是这种格式的“2018年9月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($d

我想从今天开始的3天内打印出来。此代码工作正常,但我需要的日期是这种格式的“2018年9月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>";
?>

您可以使用
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;
}

您可以使用
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;
}
看看PHP,您可以使用
格式('Y-F-d')

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

看看PHP,您可以使用
格式('Y-F-d')以英文打印月份名称。


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

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

$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))));
}
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))));
}

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

$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))));
}
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))));
}

您得到了什么“错误”?当我将格式更改为格式('ym,d')时,我得到了这个错误;“在Boolean上调用成员函数modify()”你得到了什么“错误”呢?当我将格式更改为format('Y M,d')时,我得到了这个错误;“在Boolean上调用成员函数modify()”这非常有效,我想我只是想得太多了。非常感谢much@nellytadi很高兴帮助你:):)这很好用,我想我只是想得太多了。非常感谢much@nellytadi很高兴帮助你:):)