月份获取

获取本月日期:

复制代码代码如下:

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是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-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()会把2014-0-1这种东西转换成2013-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()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。

总得来说,还是很方便的,日期函数太强大了。

时间: 2024-10-10 05:56:17

月份获取的相关文章

php 根据给定的年份和月份获取该年份该月份的起始和结束时间

function getShiJianChuo($nian=0,$yue=0){ if(empty($nian) || empty($yue)){ $now = time(); $nian = date("Y",$now); $yue = date("m",$now); } $time['begin'] = mktime(0,0,0,$yue,1,$nian); $time['end'] = mktime(23,59,59,($yue+1),0,$nian); re

根据传入的年份和月份获取该月属于本年的第几周和每周的开始和结束日期

function getInfo(year, month) { var getInfo = function (year, month) { var d = new Date(); d.setFullYear(year, month - 1, 1); var w1 = d.getDay(); if (w1 == 0) w1 = 7; d.setFullYear(year, month, 0); var dd = d.getDate(); if (w1 != 1) { var d1 = 7 - w

oracle根据月份获取每周的始末日期

with t1 as  (select level id, '201507' || lpad(level, 2, '0') col     from dual   connect by level < 32), t2 as  (select 0 id,          null,          to_char(trunc(to_date(col, 'yyyymmdd'), 'month'), 'yyyymmdd') end_dt     from t1    where rownum = 

支付宝不支持qq邮箱获取账单

年初的时候支付宝获取QQ账单都能获取到,到今年的5.6月份获取不到QQ邮箱账单,如下: 上次拨打支付宝客服,人家让我换邮箱,给我介绍阿里邮箱,当时我就笑了,这是信用卡账单,就因为一个账单而去注册一个新的邮箱,因为QQ是大家最常用的聊天工具与邮箱,这样不支持QQ获取账单,我的邮箱也有不少,最常用的还是QQ邮箱,基本天天在用,如果一个服务商去改变用户习惯,用户会放弃这个产品,因为产品不符合用户习惯就不是好的产品,支付宝不能支持QQ邮箱获取账单,同时放弃一切和支付宝相关的商品购买,因为这个产品不符合用

java使用Calendar类获取常用简单工具类

前言: 在工作中,我们经常会用到时间相关的.比如月初.月末.年初.年末.指定月份所在季度的季末.当前时间加X天.x月.x年等这些常用的虽说不难,但是如果要用到,立马又想不起来.这里凯哥归纳了一些常用的放在一个工具类中.有需要的朋友可以拿去或是收藏.如果大家有更好的,欢迎留言.如果凯哥哪里不对,欢迎大家留言骂起~. 声明:本文有凯哥Java(www.kaigejava.com)发布于凯哥个人博客. 正文: 1:获取指定日期 指定月份后的最后一天.返回格式:yyyyMMdd 获取指定日期 指定月份后

Oracle获取当前日期前一个月的全部日期

当前日期为2018/08/12. 1.获取当前月份的天数: select to_number(to_char(last_day(sysdate),'dd')) from dual 2.获取当前日期前30天的全部日期. select trunc(sysdate-30)+rownum as days from dual connect by rownum<=30; 执行结果如下: 2.获取当前日期前一个月的全部日期.此处的一个月会根据当前月份获取本月的天数,可能是31天.30天或者29天. sele

Java 时间相关

java的时间主要关注这几个类,查看Java API 1.6 java.util.Calendar Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法.瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量. 该类还为实现包范围外的具体日历系统提供了其他字段和方法

C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

转自原文C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 阅读目录 1.HtmlAgilityPack简介 2.XPath技术介绍与使用 3.采集天气网站案例 4.资源 第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel,是真尼玛的累,虽然那个时候C#还很菜,也想能不能通过程序来批量获取(所以平时想法要多才好).几

js学习——对象基础

JavaScript是面向对象的语言.JavaScript中的所有事物都是对象,但是不使用类,它是基于原型(prototype).对象是一种特殊的数据,拥有属性和方法.                创建JavaScript对象                方式1. 定义并创建对象实例 var person=new Object();//创建对象的一个新实例 person.name="name";//添加name属性 person.age=10;//添加age属性 //另一个方法 v