用php获取本周,上周,本月,上月,本季度日期的代码


Posted in PHP onAugust 05, 2009

PHP date函数参数详解

time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧
不过这样方便计算,
要找出前一天的时间就是 time()-60*60*24;
要找出前一年的时间就是 time()*60*60*24*365
那么如何把这个数字换成日期格式呢,就要用到date函数了
$t=time();
echo date("Y-m-d H:i:s",$t);
第一个参数的格式分别表示:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
其它不在上列的字符则直接列出该字符

看完上面的内容再看下面的代码有助于理解

网上比较流行的代码段一

<?php
  echo date("Ymd",strtotime("now")), "\n";
  echo date("Ymd",strtotime("-1 week Monday")), "\n";
  echo date("Ymd",strtotime("-1 week Sunday")), "\n";
  echo date("Ymd",strtotime("+0 week Monday")), "\n";
  echo date("Ymd",strtotime("+0 week Sunday")), "\n";
 
  echo "*********第几个月:";
  echo date('n');
  echo "*********本周周几:";
  echo date("w");
  echo "*********本月天数:";
  echo date("t");
  echo "*********";
 
  echo '<br>上周起始时间:<br>';
  echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n";
  echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n";
  echo '<br>本周起始时间:<br>';
  echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n";
  echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n";

  //从第几周找出该周的开始日期和结束日期
  $dayNumber = date('W') * 7;
  $weekDayNumber = date("w", mktime(0, 0, 0, 1, $dayNumber, date("Y")));//当前周的第几天
  $startNumber = $dayNumber - $weekDayNumber;
  echo date("Y-m-d", mktime(0, 0, 0, 1, $startNumber + 1, date("Y")));//开始日期
  echo date("Y-m-d", mktime(0, 0, 0, 1, $startNumber + 7, date("Y")));//结束日期 

  echo '<br>上月起始时间:<br>';
  echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))),"\n";
  echo date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))),"\n";
  echo '<br>本月起始时间:<br>';
  echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))),"\n";
  echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"\n";
 
  $season = ceil((date('n'))/3);//当月是第几季度
  echo '<br>本季度起始时间:<br>';
  echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
  echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";
 
  $season = ceil((date('n'))/3)-1;//上季度是第几季度
  echo '<br>上季度起始时间:<br>';
  echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
  echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";
?>

效果图:20180331

用php获取本周,上周,本月,上月,本季度日期的代码

代码段二

echo date("Ymd",strtotime("now")), "\n"; 
echo date("Ymd",strtotime("-1 week Monday")), "\n"; 
echo date("Ymd",strtotime("-1 week Sunday")), "\n"; 
echo date("Ymd",strtotime("+0 week Monday")), "\n"; 
echo date("Ymd",strtotime("+0 week Sunday")), "\n"; 


//date('n') 第几个月 
//date("w") 本周周几 
//date("t") 本月天数 

echo '<br>上周:<br>'; 
echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n"; 
echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n"; 
echo '<br>本周:<br>'; 
echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n"; 
echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n"; 

echo '<br>上月:<br>'; 
echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))),"\n"; 
echo date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))),"\n"; 
echo '<br>本月:<br>'; 
echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))),"\n"; 
echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"\n"; 

$getMonthDays = date("t",mktime(0, 0 , 0,date('n')+(date('n')-1)%3,1,date("Y")));//本季度未最后一月天数 
echo '<br>本季度:<br>'; 
echo date('Y-m-d H:i:s', mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y'))),"\n"; 
echo date('Y-m-d H:i:s', mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y'))),"\n";

这段代码就介绍到这了,希望大家以后多多支持三水点靠木。

PHP 相关文章推荐
PHP中的日期及时间
Nov 23 PHP
destoon复制新模块的方法
Jun 21 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
php获取随机数组列表的方法
Nov 13 PHP
PHP删除指定目录中的所有目录及文件的方法
Feb 26 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
详解使用php-cs-fixer格式化代码
Sep 16 PHP
一些 PHP 管理系统程序中的后门
Aug 05 #PHP
黑夜路人出的几道php笔试题
Aug 04 #PHP
谈谈新手如何学习PHP 默默经典版本
Aug 04 #PHP
用PHP的ob_start() 控制您的浏览器cache
Aug 03 #PHP
一贴学会PHP 新手入门教程
Aug 03 #PHP
php 获得汉字拼音首字母的函数
Aug 01 #PHP
PHP 上传文件的方法(类)
Jul 30 #PHP
You might like
JAVA/JSP学习系列之七
2006/10/09 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
js读取本地excel文档数据的代码
2010/11/11 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
layui实现table加载的示例代码
2018/08/14 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
Python牛刀小试密码爆破
2011/02/03 Python
Python中AND、OR的一个使用小技巧
2015/02/18 Python
python实现机器人行走效果
2018/01/29 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Django框架实现的分页demo示例
2019/05/25 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
Python3并发写文件与Python对比
2019/11/20 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
python 用struct模块解决黏包问题
2020/11/07 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
军训自我鉴定
2014/01/22 职场文书
2014年高考决心书
2014/03/11 职场文书
中学生寄语大全
2014/04/03 职场文书
一年级学生期末评语
2014/04/21 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python