laravel carbon 怎么计算两个时间的差?
Laravel项目开发的时候,经常遇到计算两个时间相差的天数、相差小时数、相差秒数等需求
一个星期开始和结束的日期
Carbon::now()->startOfWeek()->toDateString(); //一个星期开始的日期
Carbon::now()->endOfWeek()->toDateString(); //一个星期结束的日期
Carbon::now()->daysInMonth; //这个月有多少天
Carbon::now()->day; //当前的日 eg:17
1.计算时间天数差#
carbon::parse ('2020-12-10')->diffInDays('2020-12-28', false); //为正负数
carbon::parse ('2020-12-10')->diffInDays('2020-12-28', true);//为正负数的绝对值
2.计算相差小时数、相差秒数等#
$date = '2020-12-11 12:59:59';
$carbon = carbon::parse ($date); // 格式化一个时间日期字符串为 carbon 对象
$int = (new Carbon)->diffInSeconds ($carbon, false); // $int 为正负数
or $int = (new Carbon)->diffInSeconds ($carbon, true); // $int 为正负数的绝对值
类似还有:#
$int = (new Carbon)->diffInMinutes($carbon, true);
$int = (new Carbon)->diffInHours($carbon, true);
等等,可计算当前时间与给定的时间差。
时间格式化的方式#
使用 parse 方法解析任何顺序和类型的日期(结果为 Carbon 类型的日期时间对象)
和php
中的date
函数用户基本相同
Carbon::parse($this->kssj)->format("F");
格式化方式 | 说明 |
---|---|
Y | 4位数字年,y为2位数字,如99即1999年 |
m | 数字月份,前面有前导0,如01。n 为无前导0数字月份 |
F | 月份,完整的文本格式,例如 January 或者 March |
M | 三个字母缩写表示的月份,例如 Jan 或者 Mar |
D | 星期几,三个英文字母; 如: "Fri |
d | 月份中的第几天,前面有前导0,如03。j 为无前导0的天数 |
w | 星期中的第几天,以数字表示,0表示星期天 |
z | 年份中的第几天,范围0-366 |
W | 年份中的第几周,如第32周 |
H | 24小时格式,有前导0,h为12小时格式 |
G | 24小时格式,无前导0,g为对应12小时格式 |
i | 分钟格式,有前导0 |
s | 秒格式,有前导0 |
A | 大写上下午,如AM,a为小写 |
分类:
laravel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?