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
     */
    

      

  • 相关阅读:
    SGU 242. Student's Morning( 网络流 )
    8.23单词
    bzoj1083:繁忙的城市
    求连通分量
    bzoj2761:不重复数字
    bzoj1207:打鼹鼠
    bzoj2748:音量调节
    bzoj1050:旅行comf
    bzoj1996:合唱队
    羞耻羞耻羞耻!!!
  • 原文地址:https://www.cnblogs.com/mingzhanghui/p/9332841.html
Copyright © 2011-2022 走看看