当前位置: 首页 > 编程笔记 >

PHP中的日期加减方法示例

耿俊彦
2023-03-14
本文向大家介绍PHP中的日期加减方法示例,包括了PHP中的日期加减方法示例的使用技巧和注意事项,需要的朋友参考一下

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

今天要讲的这个例子,需求是这样的。得知某个日期时间,

如:2012-04-25 10:10:00

我要在这个日期时间的基础上加上5个月并返回处理后的日期

结果:2012-04-25 10:10:00 加5个月等于 2012-09-25 10:10:00

这个需求看似简单,但还是有点棘手,因为PHP没有直接提供yyyy-mm-dd hh:ii:ss 这样格式的日期时间进行加减,所以只能通过时间戳来实现。时间戳是程序换算的标准格式,精确到秒。PHP可以将多种日期格式转换为时间戳,又可以把时间戳转换回各种日期格式,结合这两个特点我们大致实现的步骤有三步,先把原来时间转换成时间戳,然后进行加减,最后转换回日期格式。

当然,这是实现原理,结合PHP函数date()与strtotime()两个函数来实现大致也是这个意思,请看实例代码


<?php

/**

 * PHP里的日期加减方法

 * 琼台老屋

 */

// 第一步,假设有一个时间

$a = '2012-04-25 10:10:00';

 

// 第二步,获得这个日期的时间戳

$a_time = strtotime($a);

 

// 第三步,获得加五个月后的时间戳

$b_time = strtotime('+5 Month',$a_time);

 

// 第四部,把时间戳转换回日期格式

$b = date('Y-m-d H:i:s',$b_time);

echo '这是加了五个月后的日期'.$b;

 

// 如果你觉得以上代码过长也可以一行搞定

$b = date('Y-m-d H:i:s',strtotime('+'.$time.' Month',strtotime($a)));

echo '这是加了五个月后的日期'.$b;

?>

关于date()函数与strtotime()函数的使用,这里就不详细介绍了。需要的童鞋可以看我以前的相关函数介绍文章或者到php.net去看手册均可。

 类似资料:
  • 问题内容: 我们如何在Java中添加或减去日期?例如,格式如下: yyyy-MM-dd ,我如何从中添加5个月?我在某些教程中看到他们正在使用,我们可以在上面设置日期吗?请帮忙。 示例:添加5个月后将变为。 PS:我是.Net程序员,正在慢慢学习Java环境。 问题答案: 首先,您必须将日期转换为,而不是必须要用它来处理日期。也可以对毫秒进行数学运算,但是我不建议这样做。

  • 本文向大家介绍Python日期的加减等操作的示例,包括了Python日期的加减等操作的示例的使用技巧和注意事项,需要的朋友参考一下 本文介绍了Python日期的加减等操作的示例,分享给大家,也给自己留个笔记 1. 日期输出格式化 所有日期、时间的api都在datetime模块内。 1. datetime => string strftime是datetime类的实例方法。 2. string =>

  • 问题内容: 我将如何编写一个表达式,使我获得以天,小时,分钟,秒等为单位的两个日期之间的差异?默认情况下,在oracle中减去两个日期将以天数形式返回天数。 问题答案: 十进制是提供的两个日期之间的天数差。您可以做一些数学运算以将其转换为天,小时,分钟,秒等。 编辑 :我看到你在找什么。我敢肯定有一种更简单的方法,但是我可能会这样完成: …其中5.3574585是减法返回的天数… 注意:这还没有经

  • 问题内容: 假设我输入了一个字符串,那么,我能写出最简单的代码是什么?现在,我只是在使用,然后添加,然后使用,但是只是想知道是否有一种更干净,更简单或更聪明的方法。 问题答案: 一种干净的方法 是 使用 会给你2007-03-01

  • 本文向大家介绍PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】,包括了PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP时间日期增减操作。分享给大家供大家参考,具体如下: 时间函数是PHP里面的日常函数,时间的默认时期,今天、昨天、明天 、上一周、下一周,本周开始时间和结

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 有谁知道约会(例如今天)和回溯X天的简单方法吗? 因此,例如,如果我想计算今天之前5天的日期。 问题答案: 尝试这样的事情: 请注意,这将修改日期对象并返回更新日期的时间值。