[PHP学习教程 - 日期/时间]001.月份第一天&最后一天(Month First Day & Last Day)

引言:在时间处理上,对于前/后台人性化的展示当前月份最大天数,这个是网站必须要处理的一个方面。但通常这一块会由第三方类库直接包装,这里我们做一个简单的Mark。

今天,我们就为大家提供一个函数,获得指定月份的第一天和最后一天!

大家请直接看教程!

功能函数



函数非常简单,下面贴出使用方式

语法:array(firstday=>, lastday=>) = firstAndLastDay(年份, 月份)

参数解析:

  $y-年份

  $m-月份

返回结果:

  array(本月开始时间时间戮,本月结束时间时间戮)

<?php
/**
 * 获取指定月份的第一天开始和最后一天结束的时间戳
 *
 * @param int $y 年份 $m 月份
 * @return array(本月开始时间,本月结束时间)
 */
function fristAndLastDay($y = "", $m = "") {
    if ($y == "") $y = date("Y");
    if ($m == "") $m = date("m");

    $m = sprintf("%02d", intval($m));
    $y = str_pad(intval($y), 4, "0", STR_PAD_RIGHT);

    $m>12 || $m<1 ? $m=1 : $m=$m;
    $firstday = strtotime($y . $m . "01000000");
    $firstdaystr = date("Y-m-01", $firstday);
    $lastday = strtotime(date(‘Y-m-d 23:59:59‘, strtotime("$firstdaystr +1 month -1 day")));

    return array(
        "firstday" => $firstday,
        "lastday" => $lastday
    );
}
?>

说明:本例没有对返回的结果日份做格式化处理,是否加0或不加0,开发者可以重新更新该函数以达到自己的要求。:)

示例1:

<?php
// 查询年份
$year  = ‘2015‘;
// 查询月份
$month = ‘10‘;
// 获得第一天和最后一天
$data  = fristAndLastDay($year, $month);
// 输出结果
echo("First Day Timestamp: {$data[‘firstday‘]}<br/>");
echo("Last  Day Timestamp: {$data[‘lastday‘]}<br/>");

结束语



只是做一个简单的Mark,以告示PHP学习教程新的一个类别-<日期>,开启了。

未完,待更新...

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4822607.html

时间: 2024-10-06 01:21:25

[PHP学习教程 - 日期/时间]001.月份第一天&最后一天(Month First Day & Last Day)的相关文章

MySQL学习分享--&gt;日期时间类型

日期时间类型 ①如果要用来表示年月日时分秒,一般使用datetime类型: ②如果要用来表示年月日,一般使用date类型: ③如果要表示时分秒,一般使用time类型: ④如果只是表示年份,一般使用year类型,需要注意的是5.5.27版本之前(不包含该版本)year类型有2位和4位格式这两种表示,在5.5.27版本之后2位格式的year已经不再被支持,year类型的值都会以YYYY的格式显示. year(2)被弃用我个人的理解是因为两位的显示宽度使得该类型表示模糊.不明确(显示的值仅仅是最后两位

吴裕雄--天生自然 JAVA开发学习:日期时间

import java.util.Date; public class DateDemo { public static void main(String args[]) { // 初始化 Date 对象 Date date = new Date(); // 使用 toString() 函数显示日期时间 System.out.println(date.toString()); } } import java.util.*; import java.text.*; public class Dat

java获取当前时间,本周第一和最后一天,本月第一和最后一天,工具类

package com.banksteel.openerp.commons.utils; import java.text.SimpleDateFormat; import java.util.Calendar; public class CalendarUtils { /** * @description:获取当前的时间 * @param pattern 时间格式 * @return 当前的时间 * @author: * @createTime:2016年12月13日 下午4:36:32 */

R语言学习笔记——日期时间处理

一.在利用R语言实际工作中,我们经常需要将字符串转换成时间,或者将时间转化成字符串,R语言和其他语言一样,你要告诉它如何转化?也就是告诉它format,它就可以正常的转化,但是在实际中,我碰到了一下几个很难注意的问题,先总结如下: 计算机如何理解日期:日期格式(也就是Date)表示为自1970年1月1日相对的数量,较1970-01-01更早的日期表示负值.(大部分语言都是这么处理的) 大部分语言有默认的日期格式,只要按照这个日期格式去转换字符串,计算机就能正确识别.如下: <span style

POJ 2964:日历问题 日期转换+闰年月份可放在一个month[2][12]数组里

2964:日历问题 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年.例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年. 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几. 输入 输入包含若干行,每行包含一个正整数,表示从2000年1月1日开始

php日期时间函数

时间戳:UNIX时间戳是保存日期和时间的一种紧凑简洁的方法,是大多数UNIX系统中保存当前日期和时间的一种方法,也是在大多数计算机语言中表示日期和时间的一种标准格式.UNIX时间戳是从1970年1月1日0点(UTC/GMT的午夜)开始起到当前时间所经过的秒数 因为UNIX时间戳是一个32位的数字格式,所以特别适用于计算机处理,例如计算两个时间点之间相差的天数.另外,由于文化和地区的差异,存在不同的时间格式,以及时区的问题.所以,UNIX时间戳也是根据一个时区进行标准化而设计的一种通用格式,并且这

Java日期时间以及日期相互转换_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 Java日期时间,以及相互转化,供大家参考,具体内容如下 package com.study.string; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; p

Python学习笔记9:标准库之日期时间(time包,datetime包)

一 time包 sleep([float time]) 延迟一段以浮点数表示的秒数 time包基于C语言的库函数(library functions). Python的解释器一般是用C编写的,Python的一些函数也会直接调用C语言的库函数. time.time()获得当前时间,返回float型, 单位:秒 time.clock()在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳). 而在WINDOWS中,第一次调用,返回的是进程执行的实际时间.而第二次之后的调用

mysql学习笔记(五)--- 字符串函数、日期时间函数

一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左.取右 6.LENGTH   获取长度(字节为单位) 7.LTRIM/RTRIM/TRIM 去空格(左/右/自定义) 8.STRCMP  字符串比较 9.CONCAT  字符串拼接 10.SUBSTRING  字符串截取 1.CHAR_LENGTH:获取长度(字符为单位) CHAR_LENGTH()