登录
首页 >  文章 >  php教程

LaravelBlade使用Carbon获取未来10天日期方法

时间:2025-07-22 08:27:17 125浏览 收藏

大家好,我们又见面了啊~本文《Laravel Blade 中用 Carbon 获取未来10天日期方法》的内容中将会涉及到等等。如果你正在学习文章相关知识,欢迎关注我,以后会给大家带来更多文章相关文章,希望我们能一起进步!下面就开始本文的正式内容~

Laravel Blade 中使用 Carbon 获取未来 10 天日期的方法

本文介绍了在 Laravel Blade 模板中使用 Carbon 库生成未来 10 天日期下拉列表的方法。通过使用 CarbonPeriod 类,可以轻松创建日期范围,并将其格式化为所需的字符串,从而在 Blade 模板中动态生成选项。

在 Laravel 项目中,经常需要在视图层动态生成日期相关的下拉列表。Carbon 是一个强大的 PHP 日期时间处理库,可以方便地进行日期计算和格式化。本文将介绍如何使用 Carbon 库在 Laravel Blade 模板中生成未来 10 天的日期下拉列表。

使用 CarbonPeriod 生成日期范围

CarbonPeriod 类可以生成一个日期迭代器,方便我们遍历指定日期范围内的每一天。以下代码展示了如何在 Blade 模板中使用 CarbonPeriod 生成未来 10 天的日期列表:

@php
$now = Carbon\Carbon::now();
$startDate = $now->clone()->startOfDay();
$endDate = $now->clone()->addDays(10)->endOfDay();
//change 10 to whatever you needed
$datePeriod =  collect(Carbon\CarbonPeriod::create($startDate, $endDate)->toArray())
              ->map(function($eachCarbonDate){
                return $eachCarbonDate->format('m-d-Y (l)');
              });
@endphp

代码解释:

  1. $now = Carbon\Carbon::now();: 获取当前时间,并创建 Carbon 对象。
  2. $startDate = $now->clone()->startOfDay();: 克隆当前时间,并将时间设置为当天的开始时间(00:00:00)。使用 clone() 方法可以避免修改原始的 $now 对象。
  3. $endDate = $now->clone()->addDays(10)->endOfDay();: 克隆当前时间,并加上 10 天,然后将时间设置为当天的结束时间(23:59:59)。
  4. $datePeriod = collect(Carbon\CarbonPeriod::create($startDate, $endDate)->toArray()): 使用 CarbonPeriod::create() 方法创建一个日期范围,从 $startDate 到 $endDate。toArray()方法将日期范围转换为数组,然后使用collect()方法将其转换为 Laravel 集合,以便后续使用map方法。
  5. ->map(function($eachCarbonDate){ return $eachCarbonDate->format('m-d-Y (l)'); });: 使用 map() 方法遍历日期范围内的每一个 Carbon 对象,并使用 format() 方法将其格式化为 m-d-Y (l) 的字符串格式,例如 10-27-2023 (Friday)。
  6. : 创建一个 HTML