• PHP DateTime类常用方法总结


    实例化:

    $date = new DateTime();
    $date = new DateTime('2018-01-01');
    $date = new DateTime('tomorrow');
    $date = new DateTime('+2 day');
    $date = new DateTime('1408950651');
    

    设置日期时间:

    $date->setTimestamp('1514739661');
    $date->setDate(2020, 8, 8);
    $date->setTime(2, 3, 4);
    $date->modify('+1 day');
    $date->modify('+1 month');
    $date->modify('-1 year');
    $date->add(new DateInterval('P2DT5H2M'));
    $date->sub(new DateInterval('P2DT5H2M'));
    $date->setTimezone(new DateTimeZone('Asia/Shanghai'));
    

    有效标识符如下: Y(年) M(月) D(日) W(周) H(时) M(分) S(秒)

    约定以字母P开头,如果有时间,需要在时间之前加入T。

    $interval->invert = 1; // 指定为负数。

    格式化及取值:

    $date->format('Y-m-d H:i:s');  // 格式化输出
    $date->getTimestamp();  // 获取时间戳
    $data->getTimezone()->getName();  // 获取时区Asia/Shanghai
    

    比较日期:

    $date = new DateTime;
    $date1 = new DateTime('2016-01-01');
    print_r($date > $date1 ? true : false);
    
    print_r($date->diff($date1));
    // DateInterval Object ( [y] => 2 [m] => 2 [d] => 12 [h] => 16 [i] => 52 [s] => 50 [days] => 802 )
    
    // 格式化输出
    $diff = $date->diff($date1);
    echo $diff->format("相差 %Y 年 %m 月  %d 天");
    // 相差 02 年 2 月 12 天
    

    输出区间内的日期时间:

    <?php
    $start = new DateTime("2020-12-01");
    $end = new DateTime("2020-12-31");
    $recurrences = 4;
    $interval = new DateInterval('P7D');
    
    // 方式一
    $period = new DatePeriod($start, $interval, $recurrences, DatePeriod::EXCLUDE_START_DATE);
    foreach ($period as $v) {
        echo $v->format("Y-m-d") . PHP_EOL;
    }
    
    // 方式二
    $period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
    foreach ($period as $v) {
        echo $v->format("Y-m-d") . PHP_EOL;
    }
    

    参考:https://www.php.net/manual/zh/class.datetime.php

  • 相关阅读:
    对文件上传使用表单验证
    文件上传
    自定义验证器
    WTForms常用的验证器
    Eclipse自动补全+常用快捷键
    JNI笔记
    cocos2d 2.2.6 win7下的配置
    cocos2d 3.6 win7下的配置
    python--文件删除、判断目录存在、字符串替换
    只是一个文件节点类为了项目的数据处理
  • 原文地址:https://www.cnblogs.com/danhuang/p/12957837.html
Copyright © 2020-2023  润新知