博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php获取一些时间实现方法(实践)
阅读量:6326 次
发布时间:2019-06-22

本文共 2394 字,大约阅读时间需要 7 分钟。

php获取一些时间实现方法(实践)

这几天在开发的时候遇到的一些时间上的问题,整理了一下,分享给大家,可以看看,有需要的话可以利用一下。

1.获取上个月第一天及最后一天.

echo date('Y-m-01', strtotime('-1 month'));   echo "
"; echo date('Y-m-t', strtotime('-1 month')); echo "
";

上面的方法有些问题,做下修改:

上个月第一天:

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));// 计算出本月第一天再减一个月

上个月最后一天:

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 计算出本月第一天再减一天

2.获取当月第一天及最后一天.

$BeginDate=date('Y-m-01', strtotime(date("Y-m-d")));   echo $BeginDate;   echo "
"; echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day")); echo "
";

3.获取当天年份、月份、日及天数.

echo " 本月共有:".date("t")."天";   echo " 当前年份".date('Y');   echo " 当前月份".date('m');   echo " 当前几号".date('d');   echo "
";

4.使用函数及数组来获取当月第一天及最后一天,比较实用

function getthemonth($date){
$firstday = date('Y-m-01', strtotime($date)); $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } $today = date("Y-m-d"); $day=getthemonth($today); echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1]; echo "
";

获取本月日期:

function getMonth($date){
$firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday);}

$firstday是月份的第一天,假如$date是2018-2这样的话,$firstday就会是2018-02-01,然后根据$firstday加一个月就是2018-03-01,再减一天就是2018-02-28,用date()strtotime()真是太方便了。

获取上月日期:

function getlastMonthDays($date){      $timestamp=strtotime($date);      $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));      $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));      return array($firstday,$lastday);}

上月日期需要先获取一个时间戳,然后在月份上-1OK了,超智能的date()会把2018-0-1这种东西转换成2017-12-01,太爽了。

获取下月日期:

function getNextMonthDays($date){      $timestamp=strtotime($date);      $arr=getdate($timestamp);      if($arr['mon'] == 12){            $year=$arr['year'] +1;            $month=$arr['mon'] -11;            $firstday=$year.'-0'.$month.'-01';            $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));      }else{            $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));            $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));      }      return array($firstday,$lastday);}

下月日期的代码看起来比较长一点,因为date()转不了类似2018-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1OK啦。

总得来说,日期函数太强大了。

原文地址

转载地址:http://lhmaa.baihongyu.com/

你可能感兴趣的文章
烂泥:Domino与AD集成测试文档(二)
查看>>
Server 2008 R2 AD RMS完整部署:用户创建篇
查看>>
.NET设计模式(12):外观模式(Façade Pattern)
查看>>
深入解读Quartz的原理
查看>>
《0bug》一书获得重点推荐!
查看>>
SQL Server 2008数据库快照技术(八)
查看>>
一些使用Vim的小技巧(转贴)
查看>>
微商如何突破月入过万
查看>>
在Windows下MySQL与JDBC环境的搭建
查看>>
[InnoDB系列] - 实例解析Innodb的隔离级别以及锁模式
查看>>
如何走出海量数据及访问量压力困境
查看>>
Servlet过滤器介绍之原理分析
查看>>
Android应用程序组件Content Provider的启动过程源代码分析(2)
查看>>
使用Silverlight Toolkit 绘制图表---区域图和冒泡图
查看>>
一步一步SharePoint 2007之十:改变网站的徽标
查看>>
数组内容的参数化问题
查看>>
恼人的Visual Studio 2010崩溃重启问题
查看>>
使用微软分布式缓存服务Velocity Part 1
查看>>
TCP/IP 故障排除
查看>>
linux内存管理之kmalloc
查看>>