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

 <?php
/**
*参考有:
*http://www.oschina.net/code/snippet_96541_4015
*http://stackoverflow.com/questions/5489502/how-to-get-previous-month-and-year-relative-to-today-using-strtotime-and-date
*/
$prevDates = ""; //保存最后返回的日期
$dates = "2014-12-30"; //当前需要测试的日期
$nowdays = intval(date("d",strtotime($dates))); //獲取當前月的日期
$datestring=$dates.' first day of last month';
$dt=date_create($datestring);
$prevDate = $dt->format('Y-m-d'); //獲取上個月的1号 $days = date('t', strtotime($prevDate)); //獲取上個月的天數 //当前月的日期小于或等于上个月的天数时
if($days >= $nowdays)
{
$prevDates =$dt->format('Y-m')."-".$nowdays;
}else if($days < $nowdays){
//当前月的日期大于上个月的天数时
$prevDates =$dt->format('Y-m')."-".$days;
} //输出最后返回的日期
var_dump($prevDates); ?>

查看代码

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

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

主要想法:

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

PHP 获取当前日期的上个月的日期的更多相关文章

  1. Smarty 获取当前日期时间和格式化日期时间

    在Smarty 中获取当前日期时间和格式化日期时间与PHP中有些不同的地方,这里就为您详细介绍: 首先是获取当前的日期时间:在PHP中我们会使用date函数来获取当前的时间,实例代码如下:date(& ...

  2. JS获取当前日期时间及JS日期格式化

    Js获取当前日期时间: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份( ...

  3. Java -- 获取当前日期、当月月初日期、月末日期

    Learn From:http://blog.csdn.net/sunhuwh/article/details/39161323 public class CalendarTest { public ...

  4. javascript 添加行,删除行,datepicker获取当前日期和上一个月日期并设置格式,笔记

    $(function () { getdatepicker(); today(); getPreMonth(); getdatetimepicker(); }); function today(){ ...

  5. Java,Calendar -- 获取当前日期、当月月初日期、月末日期

    public class CalendarTest { public static void main(String[] args) { // 获取当前年份.月份.日期 Calendar cale = ...

  6. TypeScript 2 : 获取当前日期及前后范围日期【Array】

    前言 今天有个接口字段需求,要写一个今天及前几天的日期传过去: 在网上找了下都木有什么比较好的方案:就自己写了一个. 因为技术栈就是NG2+TS2+WEBPACK,这里的代码需要一定的TS2及ES6的 ...

  7. 获取当前日期,或指定日期的农历js代码

    时间不早了,直接上代码啦-- var CalendarData=new Array(100);var madd=new Array(12);var tgString="甲乙丙丁戊己庚辛壬癸& ...

  8. php获取当前日期开始一周日期与星期几

    不说了,对于PHPer来说,写不出来说什么都是白瞎,不喜勿喷~~~~ function get_week(){ $data = []; $format='Y-m-d'; for ($i=0; $i&l ...

  9. RF中采用python方法获取当月1号、上月1号、下月1号、当前日期N天后日期、当前日期N天前日期、指定月份总天数、上个月份、下个月份、当月最后1天日期、上个月最后1天日期、下个月最后1天日期

    ${TodayDate} evaluate datetime.date.today().strftime('%Y%m%d') datetime ${CurrentMonthFirstDay} eval ...

随机推荐

  1. 【 随笔 】 JavaScript 图形库的流行度调查

    2014年可以说是 JavaScript 最风光的一年,成为上升最快的语言,在 Github 上最受关注的前10个仓库中,有7个是基于 JavaScript 开发的,数不胜数的函数库可适应于各种需求. ...

  2. JS中的substring和substr函数的区别

    1. 在JS中, 函数声明: stringObject.substring(start,stop) start是在原字符串检索的开始位置,stop是检索的终止位置,返回结果中不包括stop所指字符. ...

  3. 在User Profile Service中配置AD的同步连接

    转:http://www.360sps.com/Item/ConfigureSynchronizationConnections.aspx 如果要将Active Directory.LDAP 目录和业 ...

  4. Axis2 java调用.net webservice接口的问题(郑州就维)

    这是一个古老的问题,古老到从我若干年前遇到这样的问题就是一个解决之道:反复尝试.其实标准是什么,标准就是一个束缚,一种按既定规则的束缚,错点点,你的调用就可能不成功,不成功后你要花费大量的力气查找原因 ...

  5. Nginx、SSL双向认证、PHP、SOAP、Webservice、https

    本文是1:1模式,N:1模式请参见新的一篇博客<SSL双向认证(高清版)> ----------------------------------------------------- 我是 ...

  6. IIS中访问自己开发的Webservice site就自动停止,尝试重启IIS和重启服务器都不能解决。

    今天在加班的时候发现一个奇怪的问题,IIS里面我们自己开发的Webservice site一访问就自动停止.尝试重启IIS和重启服务器都不能解决.后台windows events报错信息是The Mo ...

  7. NodeJS 框架 Express 从 3.0升级至4.0的新特性

    NodeJS 框架 Express 从 3.0升级至4.0的新特性 [原文地址:√https://scotch.io/bar-talk/expressjs-4-0-new-features-and-u ...

  8. 关于iTerm和Zsh

    关于iTerm和Zsh 终于我还是踏入了Zsh的行列,时间有点紧张,要开始做毕设了,关于Zsh和iTerm的好处我就不多说了哈,以后有时间再聊哈 Installation install Zsh 使用 ...

  9. HW2.3

    import java.util.Scanner; public class Solution { public static void main(String[] args) { final dou ...

  10. HDOJ-ACM1097(JAVA) A hard puzzle

    这道题就是HDOJ的1061的变形: 1061 :求n的n次方的个位数 http://www.cnblogs.com/xiezie/p/5596779.html 1097 :求n的m次方的个位数 因此 ...