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

  

php 日期相关的类 DateInterval DateTimeZone DatePeriod的更多相关文章

  1. (1)StringBuilder类和StringBuffer类 (2)日期相关的类 (3)集合框架 (4)List集合

    1.StringBuilder类和StringBuffer类(查手册会用即可)1.1 基本概念 由于String类描述的字符串内容无法更改,若程序中出现大量类似的字符串时需要申请独立的内存空间单独保存 ...

  2. Java工具类——日期相关的类

    前言 在日常的开发工作当中,我们经常需要用到日期相关的类(包括日期类已经处理日期的类),所以,我就专门整理了一篇关于日期相关的类,希望可以帮助到大家. 正文 一.日期类介绍 在 Java 里面,操作日 ...

  3. 21、java中和日期相关的类

    一.Data及其常用API 1.简介 Java中的时间使用标准类库的java.util.Date,其表示特定的瞬间,精确到毫秒.是用距离一个固定时间点的毫秒数(可正可负,long类型)表达一个特定的时 ...

  4. (1)String类 (2)StringBuilder类和StringBuffer类 (3)日期相关的类

    1.String类(重中之重)1.1 常用的方法(练熟.记住)(1)常用的构造方法 String() - 使用无参的方式构造空字符串对象. String(byte[] bytes) - 根据参数指定的 ...

  5. Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题

    笔记总结: /**与时间相关的类:System_Date_SimpleDateFormat_Calendar类 * 1.system 类下的currentTimeMillis() * 输出从1970年 ...

  6. Android随笔之——Android时间、日期相关类和方法

    今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...

  7. java8及8之前日期相关类

    java 8日期相关类 Instant:精确到纳秒的时间戳 Duration:处理有关基于时间的时间量 LocalDate:只包含日期,比如:2016-10-20 LocalTime:只包含时间,比如 ...

  8. Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类

    Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯.2.面向对象的出现,将复杂的事情简单化.3.面向对象的出现,将之前过程中 ...

  9. 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类

    日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 ​ Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...

随机推荐

  1. Sqli-Labs less26-28a

    less-26 从第26关开始,我的sqli-labs就在docker上运行了,因为windows中阿帕奇对空格的转义有问题 通过源码可以看到有很多过滤,包括空格 or和and. 方法: or可以用| ...

  2. javaWeb之Maven

    为什么要学这个技术? 在JavaWeb开发中,需要使用大量的jar包 如何能够让一个工具自动帮我们导入和配置这个jar包 一.Maven项目架构管理工具 核心思想:约定大于配置 有约束,不要去违反 M ...

  3. 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

    剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q ...

  4. express中session的基本使用

    1.首先安装express-session模块 npm install express-session --save 2.引入express-session,以及设置中间键 var session = ...

  5. java 的内存结构

    Java内存结构详解 Java把内存分成:栈内存,堆内存,方法区,本地方法区和寄存器等. 下面分别介绍栈内存,堆内存,方法区各自一些特性: 1.栈内存 (1)一些基本类型的变量和对象的引用变量都是在函 ...

  6. 解决springboot在mac电脑下启动过慢的问题

    自从用了mac以后,springboot启动的时候一直卡在build环节10多秒 但是在linux和Windows环境下,启动只要6秒,后面查看了一下其他 人也遇到这种问题,原来是需要在hosts文件 ...

  7. 字节跳动基于Apache Hudi构建EB级数据湖实践

    来自字节跳动的管梓越同学一篇关于Apache Hudi在字节跳动推荐系统中EB级数据量实践的分享. 接下来将分为场景需求.设计选型.功能支持.性能调优.未来展望五部分介绍Hudi在字节跳动推荐系统中的 ...

  8. Redis-技术专区-帮从底层彻底吃透RDB技术原理

    每日一句 低头是一种能力,它不是自卑,也不是怯弱,它是清醒中的嬗变.有时,稍微低一下头,或者我们的人生路会更精彩. 前提概要 Redis是一个的键-值(K-V)对的内存数据库服务,通常包含了任意个非空 ...

  9. JavaScript——数组——slice方法

    JavaScript--数组--slice方法 JavaScript中的slice方法类似于字符串的substring方法,作用是对数组进行截取. slice方法有两个参数,indexStart 和 ...

  10. 基于Linux系统下Apache服务器的安装部署

    企业中常用的web服务,用来提供http://(超文本传输协议). web系统是客户端/服务器模式的,所以应该有服务器和客户端里两个部分.常用的服务器程序时Apache,常用的客户端程序是浏览器.ww ...