用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将整个网站生成HTML纯静态网页的方法总结
Feb 05 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
PHP的拦截器实例分析
Nov 03 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
php获取json数据所有的节点路径
May 17 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP的简单跳转提示的实现详解
Mar 14 PHP
thinkphp5实现微信扫码支付
Dec 23 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
PHP原理之异常机制深入分析
2010/08/08 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
php二维码生成以及下载实现
2017/09/28 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
Python基于内置函数type创建新类型
2020/10/22 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
计算机专业毕业生求职信
2014/04/30 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
先进工作者个人总结
2015/02/15 职场文书