PHP 标准的日期格式

date("Y-m-d H:i:s");

PHP 简单的日期加减计算

<?php
date_default_timezone_set('PRC'); //默认时区
echo "今天:",date("Y-m-d",time()),"\n";
echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"\n";
echo "昨天:",date("Y-m-d",strtotime("-1 day")),"\n";
echo "明天:",date("Y-m-d",strtotime("+1 day")),"\n";
echo "一周后:",date("Y-m-d",strtotime("+1 week")),"\n";
echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "\n";
echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")),"\n";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."\n";
echo "一个月前:".date("Y-m-d",strtotime("last month"))."\n";
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."\n";
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."\n";
?>

运行结果:

今天:2018-07-31

今天:2008-06-18

昨天:2018-07-30

明天:2018-08-01

一周后:2018-08-07

一周零两天四小时两秒后:2018-08-09 15:15:40

下个星期四:2018-08-02

上个周一:2018-07-30

一个月前:2018-07-01

一个月后:2018-08-31

十年后:2028-07-31

PHP 进阶的日期加减计算

<?php
// 默认时区
date_default_timezone_set('PRC');
echo "今天: ", date('Y-m-d H:i:s'), "\n"; // 输出当前时间
echo "明天: ", date('Y-m-d H:i:s', strtotime('+1 day')), "\n"; // 输出明天时间
//strtotime 可以接受第二个参数,类型timestamp为指定日期
echo date('Y-m-d H:i:s', strtotime ("+1 day", strtotime('2017-11-11'))), "\n";
// 这里+1 day 可以修改参数1为任何想需要的数
// day也可以改成year(年)month(月)hour(小时)minute(分)second(秒)
echo date('Y-m-d H:i:s', strtotime("+1 day +1 hour +1 minute")), "\n";
?>

运行结果:

今天: 2018-07-31 11:37:11

明天: 2018-08-01 11:37:11

2017-11-12 00:00:00

2018-08-01 12:38:11

PHP 高级的计算日期时间差

<?php
// 默认时区
date_default_timezone_set('PRC');
echo date("Y-m-d H:i:s"), "\n";
// 日期天数相加函数
echo date('Y-m-d', strtotime('+1 day', strtotime('2016-09-12'))), "\n\n";
echo strtotime('2016-09-12'), "\n";
echo date("Y-m-d", '1473609600'), "\n";
echo date("Y-m-d", '1573609600'), "\n";
// 日期天数相加函数
$d = "2016-09-12 10:12:20";
echo date("Y-m-d", strtotime("$d +1 day")), "\n\n";
// 把日期转换成时间截
function date2time($d){
$year=((int)substr("$d",0,4)); //取得年份
$month=((int)substr("$d",5,2)); //取得月份
$day=((int)substr("$d",8,2)); //取得几号
return mktime(0,0,0,$month,$day,$year);
}
echo date2time("2016-09-12"), "\n\n";
$date_1="2066-09-12";
$date_2="2016-09-12";
$Date_List_a1=explode("-",$date_1);
$Date_List_a2=explode("-",$date_2);
$d1 =mktime(0,0,0,intval($Date_List_a1[1]),intval($Date_List_a1[2]),intval($Date_List_a1[0]));
$d2 =mktime(0,0,0,intval($Date_List_a2[1]),intval($Date_List_a2[2]),intval($Date_List_a2[0]));
$Days=round(($d1-$d2)/3600/24);
echo "$date_2 -> $date_1 相差: $Days 天", "\n";
?>

运行结果:

2018-07-31 11:37:39

2016-09-13

1473609600

2016-09-12

2019-11-13

2016-09-13

1473609600

2016-09-12 -> 2066-09-12 相差: -17056 天

PHP日期加减计算的更多相关文章

  1. Java 日期加减计算.

    1.用Java.util.Calender来实现 Calendar calendar=Calendar.getInstance();      calendar.setTime(new Date()) ...

  2. PHP常用日期加减计算方法实例

    PHP常用日期加减计算方法实例 实例总结了PHP常用日期加减计算方法.分享给大家供大家参考,具体如下: PHP 标准的日期格式 date("Y-m-d H:i:s"); PHP 简 ...

  3. Delphi日期函数、日期加减

    Delphi里有现成的函数可以实现日期加减,是在DateUtils单元里的. function IncYear(const AValue: TDateTime; const ANumberOfYear ...

  4. java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)

    获取周的第一天,最后一天 System.out.println(getStartEndDate("2016-05-01", 1)); 获取星期的第一天和最后一天 System.ou ...

  5. mysql日期加减

    mysql日期加减一.MySQL 为日期增加一个时间间隔:date_add().1.  示例:set @dt = now();select date_add(@dt, interval 1 day); ...

  6. Oracle 日期加减运算

    -- Start 我们都知道数字可以进行加.减.乘.除等运算.那么,日期可不可以呢?答案是,日期只能进行加.减运算. 在开始操作日期之前,我们先了解一下 Oracle 支持哪些日期数据类型,如下所示: ...

  7. JavaScript日期加减

    JS中的日期加减使用以下方式: varcurrentDate = new Date(); 对日期加减: date.setDate(date.getDate()+n); 对月加减: date.setMo ...

  8. js日期加减

    先补充下基础知识: var myDate = new Date(); //myDate默认返回当前时间 myDate.getYear(); //获取当前年份(2位) myDate.getFullYea ...

  9. PHP中的日期加减方法示例

    几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数.只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了. 今天要讲的这个例子,需求是这样 ...

  10. shell 日期加减

    shell 日期加减运算   比如今日是2012-04-22 $ date -d "+1 day" +%Y-%m-%d 2012-04-23   $ date -d "- ...

随机推荐

  1. 深度剖析Istio共享代理新模式Ambient Mesh

    摘要:今年9月份,Istio社区宣布Ambient Mesh开源,由此引发国内外众多开发者的热烈讨论. 本文分享自华为云社区<深度剖析!Istio共享代理新模式Ambient Mesh>, ...

  2. 【C++】从零开始的CS:GO逆向分析1——寻找偏移与基址的方法

    [C++]从零开始的CS:GO逆向分析1--寻找偏移与基址的方法   前言:此文章主要用于提供方法与思路,fps游戏基本都能如此找偏移,文章里找的偏移比较少,主要用来演示寻找思路,文章的后记中会附一个 ...

  3. ASP.NET Core GRPC 和 Dubbo 互通

    一.前言 Dubbo 是比较流行的服务治理框架,国内不少大厂都在使用.以前的 Dubbo 使用的是私有协议,采集用的 hessian 序列化,对于多语言生态来说是极度的不友好.现在 Dubbo 发布了 ...

  4. PAT (Basic Level) Practice 1027 打印沙漏 分数 20

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** *****   所谓"沙漏形状",是指 ...

  5. C#-12 转换

    一 什么是转换 转换是接受一个类型的值并使用它作为另一个类型的等价值的过程. 下列代码演示了将1个short类型的值强制转换成byte类型的值. short var1 = 5; byte var2 = ...

  6. 关于Redhat-7.x-下docker的安装记录

    今天因公司项目,需要部署docker环境,能根据指定的镜像创建容器 于是首先就得先部署docker环境,过程记录如下: 在Redhat 7.x - (aws上的Redhat) 环境下部署过程 1.安装 ...

  7. sg函数入门理解

    首先理解sg函数必须先理解mex函数 mex是求除它集合内的最小大于等于0的整数,例:mex{1,2}=0:mex{2}=0:mex{0,1,2}=3:mex{0,5}=1. 而sg函数是啥呢? 对于 ...

  8. BZOJ3732 Network(Kruskal重构树)

    Kruskal重构树的模板题. 给你N个点的无向图 (1 <= N <= 15,000),记为:1-N.图中有M条边 (1 <= M <= 30,000) ,第j条边的长度为: ...

  9. JS---HelloWorld

    1.功能效果图 2.代码实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  10. 一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)

    这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1.简述Redis事务实现 2.redis集群方案 3.redis主从复制的核心原理 4.CAP理论,BASE理论 5.负 ...