zoukankan      html  css  js  c++  java
  • 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为小写
  • 相关阅读:
    权限管理系统准备
    java启动线程时 extends与implements的一个差异
    spring中使用quartz时注入时出现的错误
    bat执行java程序 good
    bat下执行java程序报错处理
    SQLite.dll在xp中部署时的报错处理
    hdu 4277 USACO ORZ (dfs暴搜+hash)
    Java实现 蓝桥杯 算法训练 动态数组使用
    Java实现 蓝桥杯 算法训练 动态数组使用
    Java实现 蓝桥杯 算法训练 动态数组使用
  • 原文地址:https://www.cnblogs.com/caibaotimes/p/14528858.html
Copyright © 2011-2022 走看看