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");