📅  最后修改于: 2023-12-03 15:29:56.311000             🧑  作者: Mango
Carbon是一款基于PHP的开源日期操作库,它提供了很多有用的日期相关的方法,使得处理日期数据变得更加容易
使用Composer可以很容易地安装Carbon:
composer require nesbot/carbon
使用Carbon可以很容易地创建、修改和比较日期和时间:
<?php
use Carbon\Carbon;
// 创建日期
$date = Carbon::create(2021, 9, 28);
// 获取当前时间
$now = Carbon::now();
// 格式化日期
echo $now->format('Y-m-d H:i:s');
// 增加一天
$tomorrow = Carbon::tomorrow();
// 减少一周
$lastWeek = Carbon::now()->subWeek();
// 比较两个日期
if ($date->gt($now)) {
echo 'The date is in the future';
} else {
echo 'The date is in the past';
}
更多使用示例可以参考Carbon官方文档。
Carbon提供了很多用于格式化日期和时间输出的方法:
|方法|说明| |---|---| |format()|格式化日期| |toDateString()|格式化日期为YYYY-MM-DD| |toTimeString()|格式化时间为HH:MM:SS| |toDateTimeString()|格式化日期和时间为YYYY-MM-DD HH:MM:SS| |toDayDateTimeString()|格式化日期和时间为ddd, MMMM D, YYYY h:mm A| |diffForHumans()|以人类可读的方式输出时间差|
Carbon支持很多方式来创建日期对象,以下是常用的几种方法:
使用create方法可以根据指定的年、月、日、小时、分钟和秒创建日期对象:
$birthday = Carbon::create(1990, 12, 31, 0, 0, 0);
$now = Carbon::create();
使用parse方法可以根据指定的日期格式字符串和日期字符串来创建日期对象:
$dateString = '2020-01-01 12:34:56';
$dateObject = Carbon::parse($dateString);
使用now方法可以获取当前的日期和时间:
$now = Carbon::now();
使用today方法可以获取当前的日期,时间会被设置为0:0:0:
$today = Carbon::today();
在Carbon中,可以很容易地修改日期和时间,以下是一些常用的修改方法:
使用add方法可以增加指定的年、月、日、小时、分钟或秒:
$date = Carbon::createFromDate(2021, 9, 29);
$date->addDays(7); // 时间增加一周
$date->addHours(3); // 时间增加3小时
使用sub方法可以减少指定的年、月、日、小时、分钟或秒:
$date = Carbon::createFromDate(2021, 9, 29);
$date->subWeeks(2); // 时间减少2周
$date->subMinutes(30); // 时间减少30分钟
使用startOfDay方法可以将时间设置为当天的开始时间,也就是0:0:0;使用endOfDay方法可以将时间设置为当天的结束时间,也就是23:59:59:
$date = Carbon::createFromDate(2021, 9, 29);
$startDate = $date->startOfDay();
$endDate = $date->endOfDay();
使用startOfMonth方法可以将时间设置为当月的开始时间,也就是当月的1日0:0:0;使用endOfMonth方法可以将时间设置为当月的结束时间,也就是当月的最后一天23:59:59:
$date = Carbon::createFromDate(2021, 9, 29);
$startDate = $date->startOfMonth();
$endDate = $date->endOfMonth();
Carbon是一款功能强大的PHP日期操作库,提供了很多有用的日期相关的方法,使得处理日期数据变得更加容易。使用Carbon,你可以轻松地创建、修改、格式化和比较日期数据。希望你能在实际开发中尝试使用Carbon,提高工作效率。