PHP常用日期加减计算方法实例
PHP常用日期加减计算方法实例
实例总结了PHP常用日期加减计算方法。分享给大家供大家参考,具体如下:
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,
$Date_List_a1
[1],
$Date_List_a1
[2],
$Date_List_a1
[0]);
$d2
=
mktime
(0,0,0,
$Date_List_a2
[1],
$Date_List_a2
[2],
$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-131473609600
2016-09-12
2019-11-13
2016-09-131473609600
2016-09-12 -> 2066-09-12 相差: -17056 天
PHP常用日期加减计算方法实例的更多相关文章
- java基础篇 -- 常用的日期加减和日期格式化工具类
平时我们遇到日期的加减,感觉是相当麻烦的,以下是常用的日志加减的方法,包括日的加减.月的加减等,也包括了一些常用的日期格式化,这样在我们以后碰到日期加减的时候会省去很多麻烦,欢迎大神指正和吐槽: pa ...
- PHP中的日期加减方法示例
几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数.只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了. 今天要讲的这个例子,需求是这样 ...
- 【转载】 C#中日期类型DateTime的日期加减操作
在C#开发过程中,DateTime数据类型用于表示日期类型,可以通过DateTime.Now获取当前服务器时间,同时日期也可以像数字一样进行加减操作,如AddDay方法可以对日期进行加减几天的操作,A ...
- Delphi日期函数、日期加减
Delphi里有现成的函数可以实现日期加减,是在DateUtils单元里的. function IncYear(const AValue: TDateTime; const ANumberOfYear ...
- java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)
获取周的第一天,最后一天 System.out.println(getStartEndDate("2016-05-01", 1)); 获取星期的第一天和最后一天 System.ou ...
- js日期加减
先补充下基础知识: var myDate = new Date(); //myDate默认返回当前时间 myDate.getYear(); //获取当前年份(2位) myDate.getFullYea ...
- mysql日期加减
mysql日期加减一.MySQL 为日期增加一个时间间隔:date_add().1. 示例:set @dt = now();select date_add(@dt, interval 1 day); ...
- shell 日期加减
shell 日期加减运算 比如今日是2012-04-22 $ date -d "+1 day" +%Y-%m-%d 2012-04-23 $ date -d "- ...
- JS日期加减指定天数
JS中没有直接操作日期加减的方法,只能通过Date对象获取当前天数加减之后setDate,以此来达到操作日期的目的 JS中对指定日期加减指定天数,具体方法如下: function addDate(da ...
随机推荐
- SpringMVC整合Mybatis的流程
前提:如何要整合SpringMVC 与Mybatis,首先要会配置SpringMVC 第一部分:配置SpringMVC 第一步:导入jar包 第二步:构建一个请求 <%@ page langua ...
- Javamail pop3连接QQ邮箱遇到最深的坑
在使用pop3邮箱连接QQ邮箱接受邮件的时候遇到如下错误 Login fail. A secure connection is requiered(such as ssl) 此时按照错误提示添加如下配 ...
- Vagrant上运行SITL
打算给Tower加个手机遥控的功能,用运行于vagrant sitl来联合调试,在公司的网络条件很好的情况下没出任何错,都是根据http://ardupilot.org/dev/docs/settin ...
- spring cloud 学习笔记(1)
SpringCloud + Eureka / Nacos git:https://github.com/huanmsf/springCloudLearn.git 项目目录: 父pom: <?xm ...
- docker保存日志文件到本地
其实很简单 docker logs +你需要添加的额外参数 + 容器id >文件名称 然后查看这个文件就可以了,也可以通过ftp协议下载到本地
- wireshark & fiddler
wireshark display filterhttps://www.wireshark.org/docs/wsug_html_chunked/ChWorkBuildDisplayFilterSec ...
- ngx_string()错误分析
#define ngx_string(str) { sizeof(str) - 1, (u_char) str } typedef struct { uint len; u_char* data; } ...
- VUE 滚动插件(better-scroll)
1. 概述 1.1 说明 better-scroll是一款重点解决移动端(已支持PC)各种滚动场景需求的插件.例如淘宝聚划算中的类型选择(女装/家纺/生鲜美食等),没有滚动条显示却实现了滚动功能. 1 ...
- 成环的概率dp(初级) zoj 3329
原题地址:https://vjudge.net/problem/ZOJ-3329 题目大意: 有三个骰子,分别有k1,k2,k3个面,初始分数是0.第i骰子上的分数从1道ki.当掷三个骰子的点数分别为 ...
- 学习笔记_J2EE_Mybatis_01_mybatis入门
mybatis入门 1.概述 因为觉得自己写的概念信息未必比别人好,而且这些理论知识了解就好,内核信息还是要看源码.所以从相对权威的百度百科转载了基本信息,也因此它的真实性是经过检验的. 1.1 什么 ...