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

最新文章

  1. 使用sbt构建spark 程序
  2. angularJs , json,html片段,bootstrap timepicker angular
  3. 在MAVEN仓库中添加ORACLE JDBC驱动
  4. namke 命令行编译
  5. Mac下修改环境变量
  6. nginx模块开发(31)—定时器模型
  7. MyEclipse中SVN的常见的使用方法
  8. Ajax请求在IE和Google Chrome中可以响应,在Firefox中无法响应
  9. Altium Designer /DXP无网络铺铜:
  10. delphi 插入 HTML代码 播放器
  11. 一个小程序[Socrates]中学到的Perl点滴
  12. Bridge实现
  13. git 基本命令 (常用)
  14. 学习git的使用--在当地的简单命令--01
  15. 201521123044 《Java程序设计》第8周学习总结
  16. 349B - C. Mafia
  17. JavaScript学习点滴 call、apply的区别
  18. Unable to access the IIS metabase.You do not have sufficient privilege
  19. (十)Modifying Your Data
  20. Java 开始

热门文章

  1. 图论--SCC强连通缩点--Tarjan
  2. 图论--最短路--SPFA
  3. Pandas切片操作:很容易忽视的SettingWithCopyWarning
  4. Java——多线程之Lock锁
  5. 动态代理学习(一)自己动手模拟JDK动态代理
  6. spring学习笔记(五)自定义spring-boot-starter(1)
  7. 【Spark】这一篇或许能让你大概了解如何通过JavaAPI实现DataFrame的相关操作
  8. Java语言简介、基础组成、封装、继承、多态、抽象类、内部类、接口
  9. Qt5.5 connection firebird on Linux Centos7.2 or windows
  10. Java设计模式之建造者模式(Builder Pattern)