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 ...
随机推荐
- webpack的按需引入配置
ant.design插件需要less配合,yarn add babel-plugin-import,webpack4.0的babel文件已经配置到webpackconfig.js中,需要eject暴露 ...
- 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置
浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...
- Java8 Lambda表达式原理扫盲
背景 在使用Lamdba表达式,一直以为是内部类的方式实现的,但是一想如果每次调用都实例化一个内部类,性能肯定不好,难道Java里的lambda表达式真的是这么实现的吗?也许是该研究下原理了. 正文 ...
- ASP.NET MVC - Entity Framework
ASP.NET MVC - Entity Framework 实体关系 关系是某个实体(表)的一条记录对应于另一个实体(表)的一条或多条记录. 一对多关系 单方面的包含关系称为一对多,而一对多和一对一 ...
- 2018-2019-2 20165234 《网络对抗技术》 Exp0 Kali安装 Week1
Week1 kali安装 一.下载系统镜像文件 首先下载系统镜像,进入kali官网,在Downloads中选择Download Kali Linux. 我选择的是64位版本,点击HTTP下载镜像文件. ...
- python数字常量
数学常量 pi 数学常量 pi(圆周率,一般以π来表示) e 数学常量 e,e即自然常数(自然常数).
- Python爬虫从入门到进阶(4)之xpath的使用
官网地址:https://lxml.de/xpathxslt.html 导入: from lxml import etree lxml.tree 支持 ElementTree 和 Element 上的 ...
- 【转】Beginning Game Programming v2.0
Beginning Game Programming v2.0 Last Updated 8/19/18 Greetings everyone, welcome to the ground up re ...
- js实现多个小球碰撞
实现思路:小球的移动,是通过改变小球的left和top值来改变,坐标分别为(x,y)当x/y值加到最大,即加到父级的宽度或者高度时,使x值或者y值减小,同理当x值或者y值减到最小时,同样的使x值或者y ...
- LoadRunner运行错误集
1.error-27796错误解决方法: 在负载生成器的注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters ...