用字符串创建碳日期

Val*_*oso 9 laravel

我有个约会:

19/02/2018 00:00:00

我想按递减顺序分页,所以我必须创建一个碳日期...

我得到这个来显示前 10 天:

$today = Carbon::today();
$lastDays = array();

for ($i = 1; $i < 10; $i++) {
    $day = $today->subDays(1)->format('d/m/Y');
    $lastDays[] = $day;
}
Run Code Online (Sandbox Code Playgroud)

但我想展示更多,这是展示更多:

    $today = Carbon::createFromFormat('d-m-Y H:i:s',  '19/02/2019 00:00:00'); 

$lastDays = array();

for ($i = 1; $i < 10; $i++) {
    $day = $today->subDays(1)->format('d/m/Y');
    $lastDays[] = $day;
}
Run Code Online (Sandbox Code Playgroud)

不起作用...返回:

“发现意外数据。?发现意外数据。” 在第一行。

Sur*_*raj 12

您需要像这样更改代码。您提供了错误的格式来createFromFormat运行。

$today = Carbon::createFromFormat('d/m/Y H:i:s',  '19/02/2019 00:00:00'); 

$day = $today->subDays(1)->format('d/m/Y');
Run Code Online (Sandbox Code Playgroud)


Nik*_*vas 6

Carbon 有一个叫做 parse 的方法,它接受一个字符串并输出你的日期。如果给定的字符串无效,则将当前日期作为默认日期。

Carbon::parse('your date')->format('your format');
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下你应该这样做:

$today = Carbon::parse('19/02/2019 00:00:00'); 
$lastDays = array();

for ($i = 1; $i < 10; $i++) {
   $day = $today->subDays(1)->format('d/m/Y');
   $lastDays[] = $day;
}
Run Code Online (Sandbox Code Playgroud)

我希望它有帮助。