php获取一些时间实现方法(实践)
php获取一些时间实现方法(实践)
这几天在开发的时候遇到的一些时间上的问题,整理了一下,分享给大家,可以看看,有需要的话可以利用一下。
1.获取上个月第一天及最后一天.
echo date('Y-m-01', strtotime('-1 month')); echo "<br/>"; echo date('Y-m-t', strtotime('-1 month')); echo "<br/>";
上面的方法有些问题,做下修改:
上个月第一天:
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 "<br/>"; echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day")); echo "<br/>";
3.获取当天年份、月份、日及天数.
echo " 本月共有:".date("t")."天"; echo " 当前年份".date('Y'); echo " 当前月份".date('m'); echo " 当前几号".date('d'); echo "<br/>";
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 "<br/>";
获取本月日期:
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); }
上月日期需要先获取一个时间戳,然后在月份上-1
就OK
了,超智能的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
月就直接月份+1
就OK
啦。
总得来说,日期函数太强大了。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
结合 Apache Kafka 生态系统,谈谈2018年机器学习五大趋势
本博文的主要内容与我在 Confluent Blog 中写的关于 Apache Kafka 生态系统和机器学习文章一样,但这里我更关注深度学习/神经网络。我还讨论了 Apache Kafka 生态系统中的一些创新以及机器学习最近几个月的趋势:Uber 和 Netflix 上的 KSQL,ONNX,AutoML 和机器学习平台。下面,让我们来看看这些有趣的平台以及它们之间是如何相互关联的。 KSQL:Apache Kafka 上的流式 SQL 语言 根据这篇文章(https://www.confluent.io/blog/ksql-open-source-streaming-sql?spm=a2c4e.11153959.blogcont507388.15.33b53218bbuEnD)可知: “KSQL 是 Apache Kafka 上的流式 SQL 引擎,KSQL 降低了流处理领域的门槛,为 Kafka 中的数据处理提供了一个简单且完全交互的 SQL 接口,并且不再需要用诸如 Java 或 Python 编程语言编写代码!KSQL 是一个开放源码(Apache 2.0 licensed...
- 下一篇
Java 获取本机内外网ip
1. 获取本机内网网ip public class Test { public static void main(String[] args) throws IOException { System.out.println("内外ip:" + getIp()); System.out.println("外网ip:" + getMyIP()); } /** * 获取本机内网ip * @return * @throws UnknownHostException */ private static String getIp() throws UnknownHostException { String ip = InetAddress.getLocalHost().getHostAddress(); return ip; } /** * 获取本机外网ip * @return */ private static String getMyIP() throws IOException { String url = "http://ip.chinaz.com/getip.aspx"; InputSt...
相关文章
文章评论
共有0条评论来说两句吧...