zoukankan      html  css  js  c++  java
  • PHP 获取当前日期的上个月的日期

    获取当前日期的上个月的日期

     1 <?php
     2 /**
     3 *参考有:
     4 *http://www.oschina.net/code/snippet_96541_4015
     5 *http://stackoverflow.com/questions/5489502/how-to-get-previous-month-and-year-relative-to-today-using-strtotime-and-date
     6 */
     7 $prevDates = ""; //保存最后返回的日期
     8 $dates = "2014-12-30"; //当前需要测试的日期
     9 $nowdays = intval(date("d",strtotime($dates))); //獲取當前月的日期
    10 $datestring=$dates.' first day of last month';
    11 $dt=date_create($datestring);
    12 $prevDate = $dt->format('Y-m-d'); //獲取上個月的1号
    13 
    14 $days = date('t', strtotime($prevDate)); //獲取上個月的天數
    15 
    16 //当前月的日期小于或等于上个月的天数时
    17 if($days >= $nowdays)
    18 {
    19     $prevDates =$dt->format('Y-m')."-".$nowdays;
    20 }else if($days < $nowdays){
    21     //当前月的日期大于上个月的天数时
    22     $prevDates =$dt->format('Y-m')."-".$days;
    23 }    
    24 
    25 //输出最后返回的日期
    26 var_dump($prevDates);
    27 
    28 ?>
    查看代码

    哇哈哈哈哈哈,下面的文字,可能会让你看晕,不知所云,还是使用上面的代码,自己尝试运行一下,实践见真理哦。

    -------------------------------------------分割线--------------------------------------------------------------

    主要想法:

    1.获取当前日期的日期,如:2014-10-30,先获取到30

    2.获取当前日期的上个月的第一天,如:2014-09-01

    3.计算出上个月的日期的天数,如:2014-09 有30天

    4.用 当前日期的日期(下面用"日期"表示)和上个月的日期的天数(下面用"天数"说明)来对比

    1.   日期 小于或等于 天数,使用当前日期的日期做上个月的日期(可能这里有点晕)
    2.   日期  大于  天数,使用天数来做上个月的日期

    具体数据:

    设定当前日期为:2014-10-30

    1.获取到日期为:30号

    2.上个月的第一天为:2014-09-01

    3.计算出9月的天数为:30 天

    4.判断 日期(30号) 和 天数(30天)

    1.  日期(30) 等于 天数(30),最后返回日期为:2014-09-30
  • 相关阅读:
    PowerShell尝试ssh登录
    PowerShell收发TCP消息包
    powershell对指定IP进行端口扫描
    PowerShell尝试登录ftp
    PowerShell批量扫描IP和端口
    《PowerShell 3.0 Advanced Admin handbook》已于今日上市
    PowerShell尝试登录SQL Server
    Docker 数据卷
    Dockerfile自定义镜像
    Docker 容器操作
  • 原文地址:https://www.cnblogs.com/fsong/p/4001733.html
Copyright © 2011-2022 走看看