zoukankan      html  css  js  c++  java
  • php 日期相关的类 DateInterval DateTimeZone DatePeriod

    * DateInterval

    <?php
    /**
     * Created by PhpStorm.
     * User: Mch
     * Date: 7/18/18
     * Time: 21:30
     */
    $datetime = new DateTime('2018-07-18 21:30:00');
    
    // +2 weeks
    $interval = new DateInterval('P2W');
    
    $datetime->add($interval);
    echo $datetime->format('Y-m-d H:i:s').PHP_EOL;
    
    // + 1month
    $datetime->add(
        new DateInterval('P1M')
    );
    echo $datetime->format('Y-m-d H:i:s').PHP_EOL;
    
    // -1month -2weeks
    $datetime->add(
        DateInterval::createFromDateString("-1 month -2 weeks")
    );
    echo $datetime->format('Y-m-d H:i:s').PHP_EOL;
    
    echo '------------------',PHP_EOL;
    // start, interval, recurrences
    $datePeriod = new DatePeriod(
        $datetime,
        DateInterval::createFromDateString('-1 day'),
        3
    );
    foreach ($datePeriod as $date) {
        echo $date->format('Y-m-d'),PHP_EOL;
    }
    

      

      output:

    2018-08-01 21:30:00
    2018-09-01 21:30:00
    2018-07-18 21:30:00
    ------------------
    2018-07-18
    2018-07-17
    2018-07-16
    2018-07-15

    * DateTimeZone

    <?php
    /**
     * Created by PhpStorm.
     * User: Mch
     * Date: 7/18/18
     * Time: 21:42
     */
    $timezone = new DateTimeZone('Asia/Tokyo');
    $datetime = new DateTime('2018-07-18 22:42:00', $timezone);
    $datetime->setTimezone(
        new DateTimeZone('Asia/Shanghai')
    );
    echo $datetime->format('Y-m-d H:i:s').PHP_EOL;
    // 2018-07-18 21:42:00
    

      

      

    * DatePeriod

    <?php
    /**
     * Created by PhpStorm.
     * User: Mch
     * Date: 7/18/18
     * Time: 21:51
     */
    $start = new DateTime();
    // $interval = new DateInterval('P2W');
    $interval = new DateInterval('P1D');
    $period = new DatePeriod(
        $start,
        $interval,
        3,
        DatePeriod::EXCLUDE_START_DATE
    );
    
    foreach ($period as $nextDateTime) {
        echo $nextDateTime->format('Y-m-d H:i:s'),PHP_EOL;
    }
    /**
    2018-07-19 15:54:20
    2018-07-20 15:54:20
    2018-07-21 15:54:20
     */
    

      

  • 相关阅读:
    [CTF隐写]png中CRC检验错误的分析
    Bugku
    Bugku
    【CTF 攻略】CTF比赛中关于zip的总结
    sqlserver中利用Tran_sql把逗号分隔的字符串拆成临时表
    H5摇一摇遇到的问题
    C# MVC 微信支付之微信模板消息推送
    各种大型网站技术架构
    ORM框架详解
    显示实现接口
  • 原文地址:https://www.cnblogs.com/mingzhanghui/p/9332841.html
Copyright © 2011-2022 走看看