PHP函数运用之返回某个日期的前一天和后一天

在上一篇文章《php函数运用之计算截止某年某月某日共有多少天》中,我们介绍了利用strtotime()函数计算两个给定日期间时间差的方法。这次我们来来看看给大一个指定日期,怎么返回它前一天后一天的日期。感兴趣的朋友可以学习了解一下~

本文的重点是:返回给定时间的前一天、后一天的日期。那么要怎么操作呢?

其实很简单,PHP内置的strtotime() 函数就可以实现这个操作!下面来看看我的实现方法:

返回某个日期的前一天的实现代码

<?php function GetTime($year,$month,$day){$timestamp = strtotime("{$year}-{$month}-{$day}");$time = strtotime("-1 days",$timestamp);echo date("Y-m-d",$time)."
";}GetTime(2000,3,1);GetTime(2021,1,1);?>

登录后复制

输出结果:

立即学习“PHP免费学习笔记(深入)”;

1.png

返回某个日期的后一天的实现代码

<?php function GetTime($year,$month,$day){$timestamp = strtotime("{$year}-{$month}-{$day}");$time = strtotime("+1 days",$timestamp);echo date("Y-m-d",$time)."
";}GetTime(2000,2,28);GetTime(2021,2,28);?>

登录后复制

输出结果:

立即学习“PHP免费学习笔记(深入)”;

2.png

分析一下关键代码:

strtotime() 函数有两种用法:一种是将字符串形式的、用英文文本描述的日期时间解析为 UNIX 时间戳,一种是用来计算一些日期时间的间隔。

我们利用strtotime() 函数计算时间间隔的功能,使用strtotime(“-1 days”,$timestamp)和strtotime(“+1 days”,$timestamp)
计算出指定日期前一天和后一天的日期。

“-1 days”就是减一天,”+1 days”就是加一天;观察规律,我们还可以根据需要获取前N天,后N天的日期

<?php function GetTime($year,$month,$day){$timestamp = strtotime("{$year}-{$month}-{$day}");$time1 = strtotime("-2 days",$timestamp);$time2 = strtotime("+3 days",$timestamp);echo date("Y-m-d",$time1)."
";echo date("Y-m-d",$time2)."
";}GetTime(2000,3,5);?>

登录后复制

3.png

当strtotime() 函数有两个参数时,第二个参数必须是时间戳格式。所以我们需要先使用一次 strtotime()函数将字符串形式的指定日期转为字符串;在使用一次 strtotime()函数进行日期的加减运算,获取算前N天和后N天的日期。

strtotime() 函数的返回值是时间戳格式的;所以需要使用date(“Y-m-d”,$time)来格式化日期时间,返回年-月-日格式的日期。

扩展知识:

其实利用strtotime() 函数,不仅可以获取前N天和后N天日期,还可以获取前N月和后N月日期前N年和后N年日期

<?php $month1 = strtotime("-1 months",strtotime("2000-1-2"));$month2 = strtotime("+2 months",strtotime("2000-1-2"));echo date("Y-m-d",$month1)."
";echo date("Y-m-d",$month2)."

";$year1 = strtotime("-1 years",strtotime("2000-1-2"));$year2 = strtotime("+2 years",strtotime("2000-1-2"));echo date("Y-m-d",$year1)."
";echo date("Y-m-d",$year2)."
";?>

登录后复制

输出结果:

立即学习“PHP免费学习笔记(深入)”;

4.png

想要获取前一周和后一周的日期,也可以利用strtotime() 函数。例如:当前日期2021-8-19,前一周和后一周的日期为:

6.png

实现代码:

<?php header("content-type:text/html;charset=utf-8");$start = time();  //获取当前时间的时间戳echo "当前日期为:".date('Y-m-d',$start)."
";$interval = 7 * 24 * 3600;  //一周总共的秒数$previous_week = $start - $interval;  //当前时间的时间戳 减去  一周总共的秒数$next_week = $start + $interval;  //当前时间的时间戳 加上  一周总共的秒数echo "前一周日期为:".date('Y-m-d',$previous_week)."
";echo "后一周日期为:".date('Y-m-d',$next_week)."
";?>

登录后复制

输出结果:

立即学习“PHP免费学习笔记(深入)”;

5.png

前后两个日期正好相差 7 天。这其实就是计算时间差的一种逆运用。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

以上就是PHP函数运用之返回某个日期的前一天和后一天的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2111080.html

(0)
上一篇 2025年2月24日 15:52:09
下一篇 2025年2月18日 02:20:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php如何获取所有的sessionid或获取所有的session?

    php获取所有的sessionid或获取所有的session的方法:session的高级用法,把session写到memcache或数据库里,就可以实现了,如果是以文件系统来驱动,你可以通过【session_save_path()】来获取。…

    2025年2月24日
    200
  • 国外主流PHP框架比较-CodeIgniter、CakePHP、ZendFramework、Symfony_PHP教程

    最近简单的使用了目前在国内用的比较多的几个主流国外php框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考。主要参考的框架包括:codeigniter、cakephp、zendfra…

    数据库 2025年2月24日
    200
  • TP5之Cache的原理及使用

    在当今大流量的互联网之中,cache的重要性不言而喻。thinkphp5作为国内主流框架,提供了强大的cache功能。让我们跟随本文,来剖析tp5 cache的原理及使用。 为什么需要Cache(缓存)? 假设现在有一个小说网,有非常多的读…

    2025年2月24日 数据库
    200
  • 详解PHP使用redis队列实现电商订单自动确认收货

    php如何实现电商订单自动确认收货?今天小编就为大家带来php使用redis队列实现电商订单自动确认收货的知识。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望对大家有所帮助。 一、场景 之前做的电商平台,…

    数据库 2025年2月24日
    200
  • 180多个PHP常用函数总结

    我们知道任何有效的 php 代码都有可能出现在函数内部,甚至包括其它函数和类定义。本文我们主要和大家分享180多个PHP常用函数总结,希望能帮助大家更高效的学习PHP。 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2)…

    数据库 2025年2月24日
    200
  • 详谈php分布式部署

    本文我们接着和大家分享php分布式部署,希望大家对php分布式部署有一个更清晰的思路。 普通的Web开发,常用的模式就是用户登录之后,登录状态信息保存在Session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在Web服…

    2025年2月24日
    200
  • ThinkPHP项目实现分布式部署实例详解

      普通的web开发,常用的模式就是用户登录之后,登录状态信息保存在session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在web服务器的某个目录上。这种方式对于一般的web应用,使用很方便,完全能够胜任。但是对于高…

    2025年2月24日
    200
  • PHP和Redis实现高并发下注册人数统计

    现在越来越多的网站开始注重统计和用户行为分析,作为网站经常使用的功能,如何让统计性能更加高,这也是我们需要考虑的事情。本篇通过redis来优化统计功能(以注册人数统计为例)。本文主要为大家分享一篇php+redis 消息队列 实现高并发下注…

    数据库 2025年2月24日
    200
  • PHP使用Redis存储session时的一个Warning定位详解

    本文主要和大家介绍了php使用redis存储session时的一个warning定位,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 1. 问题现象 系统页面刷新的时候,偶尔会报错下面的Warnning,但是不经常出现…

    数据库 2025年2月24日
    200
  • 资深程序员告诉你如今的 PHP不一样

    php在全球市场占有率非常高,仅次于java,从各个招聘网站的数据上来看php开发的职位非常多,薪资水平也非常不错。实际在中小企业、互联网创业公司php的市场地位是高于java的。 PHP从诞生到现在已经有20多年历史,从Web时代兴起到移…

    数据库 2025年2月24日
    200

发表回复

登录后才能评论