Laravel中七个非常有用但很少人知道的Carbon方法
发布时间 - 2026-01-11 03:21:29 点击率:次前言

大家应该都知道,我们在很多时候使用 Carbon 来处理日期和时间,对吗?但是又有多少人完整的阅读过文档了解它有那些方法呢?除了众所周知的 now() 和 format() 方法,Carbon 还有很多其他有用的方法。
下面我们一起来看看吧。
1. isX: True/False
有很多方法来判断 Carbon 对象是否是今天、周末、闰年等等,下面这些是官方文档列出来的:
<?php $dt->isWeekday(); $dt->isWeekend(); $dt->isYesterday(); $dt->isToday(); $dt->isTomorrow(); $dt->isFuture(); $dt->isPast(); $dt->isLeapYear(); $dt->isSameDay(Carbon::now());
2. isBirthday
除了上面的列表,Carbon 还有一个方法来判断日期是否是某个人的生日。除了单开校验月和日外,你还可以这么做:
$born = Carbon::createFromDate(1987, 4, 23); $noCake = Carbon::createFromDate(2014, 9, 26); $yesCake = Carbon::createFromDate(2014, 4, 23); var_dump($born->isBirthday($noCake)); // bool(false) var_dump($born->isBirthday($yesCake));
3. StartOfX 和 EndOfX 列表
下面是 startOfX 系列和 endOfX 系列:
$dt = Carbon::create(2012, 1, 31, 12, 0, 0); echo $dt->startOfDay(); // 2012-01-31 00:00:00 echo $dt->endOfDay(); // 2012-01-31 23:59:59 echo $dt->startOfMonth(); // 2012-01-01 00:00:00 echo $dt->endOfMonth(); // 2012-01-31 23:59:59 echo $dt->startOfYear(); // 2012-01-01 00:00:00 echo $dt->endOfYear(); // 2012-12-31 23:59:59 echo $dt->startOfDecade(); // 2010-01-01 00:00:00 echo $dt->endOfDecade(); // 2019-12-31 23:59:59 echo $dt->startOfCentury(); // 2000-01-01 00:00:00 echo $dt->endOfCentury(); // 2099-12-31 23:59:59 echo $dt->startOfWeek(); // 2012-01-30 00:00:00 echo $dt->endOfWeek(); // 2012-02-05 23:59:59
4. Today, Tomorrow, Yesterday
三个简单却非常有用的方法,不需要调用 now(),然后替换掉时分秒,然后增加或者减去天数:
$today = Carbon::today(); // assuming 2016-06-24 echo $today; // 2016-06-24 00:00:00 $tomorrow = Carbon::tomorrow(); echo $tomorrow; // 2016-06-25 00:00:00 $yesterday = Carbon::yesterday(); echo $yesterday; // 2016-06-23 00:00:00
5. DiffForHumans + 本地化
你可能用过这个叫做 diffForHumans() 的方法 – 它会以一个便于人们阅读的方法返回两个日期之间的不同:
echo Carbon::now()->subDays(5)->diffForHumans(); // 5 days ago
但是你知道它也可以本地化吗?只需要改变地点即可,如汉语:
Carbon::setLocale('zh');
echo Carbon::now()->addYear()->diffForHumans(); // 一年前
6. 改变 now() 为任意你想要的时间
$knownDate = Carbon::create(2001, 5, 21, 12); // 创建测试日期 Carbon::setTestNow($knownDate); // set the mock echo Carbon::now(); // 2001-05-21 12:00:00
7. 星期常量
可以通过下面的常量来代替一周中的第几天:
var_dump(Carbon::SUNDAY); // int(0) var_dump(Carbon::MONDAY); // int(1) var_dump(Carbon::TUESDAY); // int(2) var_dump(Carbon::WEDNESDAY); // int(3) var_dump(Carbon::THURSDAY); // int(4) var_dump(Carbon::FRIDAY); // int(5) var_dump(Carbon::SATURDAY); // int(6)
上面提到的这些有用的方法你都了解吗?可以在留言种列出你觉得有用的方法。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# laravel
# carbon用法
# carbon
# 公共方法
# 详解PHP使用日期时间处理器Carbon人性化显示时间
# PHP中的日期时间处理利器实例(Carbon)
# Laravel中日期时间处理包Carbon的简单使用
# 方法来
# 文档
# 不需要
# 有很多
# 几天
# 又有
# 你知道
# 你还
# 可以通过
# 还有一个
# 只需要
# 你都
# 用过
# 你觉得
# 这么做
# 这篇文章
# 谢谢大家
# 我们一起
# 它也
# 还有很多
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Laravel如何使用Vite进行前端资源打包?(配置示例)
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
Python高阶函数应用_函数作为参数说明【指导】
使用C语言编写圣诞表白程序
EditPlus中的正则表达式 实战(4)
Laravel如何创建自定义Artisan命令?(代码示例)
Python自动化办公教程_ExcelWordPDF批量处理案例
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Linux后台任务运行方法_nohup与&使用技巧【技巧】
PHP 500报错的快速解决方法
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
如何挑选最适合建站的高性能VPS主机?
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Bootstrap CSS布局之列表
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel怎么使用Intervention Image库处理图片上传和缩放
Android GridView 滑动条设置一直显示状态(推荐)
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
如何在云主机上快速搭建网站?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel怎么实现模型属性的自动加密
郑州企业网站制作公司,郑州招聘网站有哪些?
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
如何在IIS管理器中快速创建并配置网站?
详解jQuery中的事件
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何打造高效商业网站?建站目的决定转化率
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
WordPress 子目录安装中正确处理脚本路径的完整指南
如何在腾讯云免费申请建站?
网站制作企业,网站的banner和导航栏是指什么?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
怎么用AI帮你设计一套个性化的手机App图标?
实例解析angularjs的filter过滤器
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
js实现获取鼠标当前的位置
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
如何在VPS电脑上快速搭建网站?
上一篇:linux查看服务进程命令
下一篇:macos怎么查看系统名称
上一篇:linux查看服务进程命令
下一篇:macos怎么查看系统名称

