• PHP笔记:时间日期


    DateTimeInterface

    时间类的接口

    DataTime

    从DateTimeInterface继承

    DateTimeImmutable

    从DateTimeInterface继承,同DataTime基本一样,只是在调用了修改相关的函数,如modify时,会返回新的对象

    DateTimeZone

    用的少,后续补上

    DateInterval

    时间间隔类,时间间隔表示固定量的时间(多少年,月,天,小时等),也可以表示一个字符串格式的相对时间,当表示相对时间的时候,字符串格式是 DateTimeImmutable 和 DateTime 类的构造函数所支持的格式。
    创建 DateInterval 对象的常用方法是通过 DateTimeInterface::diff() 计算两个日期/时间对象之间的差异。由于没有明确定义的方法来比较日期间隔,因此 DateInterval 实例是无法比较的。

    常用的DataInterval构造方式举例:
    1天,new DateInterval(‘P1D’)
    1年1月1天1小时1分1秒,new DateInterval(‘P1Y1M1DT1H1M1S’)

    说明:
    以上构造函数传入字符串称为Duration,一串描述间隔日期的字符串,

    P之后的表示是年、月、日、周,T之后是时、分、秒。大的单位必须在前,如一年一天为’P1Y1D’而不是’P1D1Y’。

    DatePeriod

    DatePeriod 类表示一个时间周期。
    时间周期内允许对一组日期和时间进行迭代,在指定的时间间隔内定期重复。

    Date/Time 函数(一些全局函数)

    后续补上

    例子

    • 最近的一段时间范围,如今天,近3天,近3月,近一年等等
    
    
    date_default_timezone_set('Asia/Shanghai');
    
    
    /*
     * @brief 返回最近时间范围
     * @duration 参看DateInterval构造函数,间隔时间字串,如P1D, P1YT1H等
    */
    function getLatestDateTimeRange( $duration )
    {
    	$endTime = new DateTime('now');
    	$beginTime = clone $endTime;
    	$beginTime->sub( new DateInterval($duration ));
    
    	return array($beginTime, $endTime);
    }
    
    
    list($begin, $end) = getLatestDateTimeRange( 'P1D');
    echo $begin->format('Y-m-d H:i:s') . '
    '
    ; //按此格式输出 2022-11-21 15:49:39 echo $end->format('Y-m-d H:i:s') . '
    '
    ; //按此格式输出 2022-11-22 15:49:39 echo $begin->getTimestamp() . '
    '
    ; //输出时间戳,单位S echo $end->getTimestamp() . '
    '
    ; //输出时间戳,单位S ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    参看

    https://www.php.net/manual/zh/book.datetime.php

  • 相关阅读:
    Python 全栈系列232 再次搭建RabbitMQ
    牛客刷题系列(汽水瓶,跳台阶扩展问题,斐波那契凤尾)
    数据结构:3.3.4遍历应用例子
    C++中的野指针
    WP Ultimate CSV Importer远程代码执行分析-CVE-2023-4142
    C++设计模式-桥接(Bridge)
    selenium自动化测试环境安装教程
    【Python零基础入门篇 · 29】:可迭代对象和迭代器对象
    【汇编】处理字符问题
    Stages—研发过程可视化建模和管理平台
  • 原文地址:https://blog.csdn.net/s634772208/article/details/127984207