用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数据库开发知多少
Oct 09 PHP
PHP 和 XML: 使用expat函数(一)
Oct 09 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
php常用字符串处理函数实例分析
Nov 22 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
Yii2 如何在modules中添加验证码的方法
Jun 19 PHP
PHP大文件分片上传的实现方法
Oct 28 PHP
Laravel5.1框架路由分组用法实例分析
Jan 04 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
世界上第一台立体声收音机
2021/03/01 无线电
php绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
php初始化对象和析构函数的简单实例
2014/03/11 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
python win32 简单操作方法
2017/05/25 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
python实现石头剪刀布小游戏
2021/01/20 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
new修饰符是起什么作用
2015/06/28 面试题
应届生财务会计求职信
2013/11/05 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
文艺演出策划方案
2014/06/07 职场文书
保险公司开门红口号
2014/06/21 职场文书
节电标语大全
2014/06/23 职场文书
储备店长岗位职责
2015/04/14 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
Python必备技巧之字符数据操作详解
2022/03/23 Python
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
Redis基本数据类型List常用操作命令
2022/06/01 Redis