PHP date()获取某时间段以周、月、季度为粒度的时间段数组
date()函数:
PHP date() 参考:https://www.hi-docs.com/php/date.html
Linux date()参考:http://www.cnblogs.com/barrychiao/archive/2012/10/08/2715808.html
获取某时间段以周、月、季度为粒度的时间段数组
- function getdays($day){//指定天的周一和周天
- $lastday=date('Y-m-d',strtotime("$day Sunday"));
- $firstday=date('Y-m-d',strtotime("$lastday -6 days"));
- return array($firstday,$lastday);
- }
- function getmonths($day){//指定月的第一天和最后一天
- $firstday = date('Y-m-01',strtotime($day));
- $lastday = date('Y-m-d',strtotime("$firstday +1 month -1 day"));
- return array($firstday,$lastday);
- }
- /**
- * 输入开始时间,结束时间,粒度(周,月,季度)
- * @param 参数一:开始时间
- * @param 参数二:结束时间
- * @param 参数三:粒度(周,月,季度)
- * @return 时间段字符串数组
- */
- function get_ld_times($st,$et,$ld){
- if($ld=='周'){
- $timeArr=array();
- $t1=$st;
- $t2=getdays($t1)['1'];
- while($t2<$et || $t1<=$et){//周为粒度的时间数组
- $timeArr[]=$t1.','.$t2;
- $t1=date('Y-m-d',strtotime("$t2 +1 day"));
- $t2=getdays($t1)['1'];
- $t2=$t2>$et?$et:$t2;
- }
- return $timeArr;
- }else if($ld=='月'){
- $timeArr=array();
- $t1=$st;
- $t2=getmonths($t1)['1'];
- while($t2<$et || $t1<=$et){//月为粒度的时间数组
- $timeArr[]=$t1.','.$t2;
- $t1=date('Y-m-d',strtotime("$t2 +1 day"));
- $t2=getmonths($t1)['1'];
- $t2=$t2>$et?$et:$t2;
- }
- return $timeArr;
- }else if($ld=='季度'){
- $tStr=explode('-',$st);
- $month=$tStr['1'];
- if($month<=3){
- $t2=date("$tStr[0]-03-31");
- }else if($month<=6){
- $t2=date("$tStr[0]-06-30");
- }else if($month<=9){
- $t2=date("$tStr[0]-09-30");
- }else{
- $t2=date("$tStr[0]-12-31");
- }
- $t1=$st;
- $t2=$t2>$et?$et:$t2;
- $timeArr=array();
- while($t2<$et || $t1<=$et){//月为粒度的时间数组
- $timeArr[]=$t1.','.$t2;
- $t1=date('Y-m-d',strtotime("$t2 +1 day"));
- $t2=date('Y-m-d',strtotime("$t1 +3 months -1 day"));
- $t2=$t2>$et?$et:$t2;
- }
- return $timeArr;
- }else{
- return array('参数错误!');
- }
- }
PHP date()获取某时间段以周、月、季度为粒度的时间段数组的更多相关文章
- java获取当前时间的年周月季度等的开始结束时间
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...
- java获取当前年、半年、季度、月、日、小时 开始结束时间等
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 获取 当前年.半年 ...
- C#根据当前时间获取周,月,季度,年度等时间段的起止时间
最近有个统计分布的需求,需要按统计本周,上周,本月,上月,本季度,上季度,本年度,上年度等时间统计分布趋势,所以这里就涉及到计算周,月,季度,年度等的起止时间了,下面总结一下C#中关于根据当前时间获取 ...
- mysql中增加某一时间段内的时间数据(包含:时间、年、月、日、第几周、季度)
创建表dim_date: create table `dim_date` ( `year` int (20), `month` int (20), `day` int (20), `week` int ...
- Flex自定义组件开发之日周月日期选择日历控件
原文:Flex自定义组件开发之日周月日期选择日历控件 使用过DateField的我们都知道,DateField 控件是用于显示日期的文本字段,字段右侧带有日历图标.当用户在控件边框内的 ...
- [转] Js获取 本周、本月、本季度、本年、上月、上周、上季度、去年时间段
/** * 针对时间的工具类 */ var DateTimeUtil = function () { /*** * 获得当前时间 */ this.getCurrentDate = function ( ...
- js 获取每月有几周,根据年月周获取该周从周一到周日的日期等方法
本文基于react-native 本人在用react-native写一个关于课程表的APP时需要课程表按照日期周期显示,网上查了许多方法,都没有达到自己想要的效果,根据一些方法的参考,再根据自己思维写 ...
- PHP获取接下来一周的日期
//获取接下来一周的日期 function GetWeeks() { $i=0; $weeks=[]; for ($i;$i<=7;$i++){ $month=date('m',time()+8 ...
- PHP获取某年第几周的开始日期和结束日期
http://blog.csdn.net/qq_27080247/article/details/50835956 /** * 获取某年第几周的开始日期和结束日期 * @param int $year ...
随机推荐
- 调用Windows属性窗口
简述 在Windows系统下.可以通过:右键 -> 属性,来查看文件/文件夹对应的属性信息,包括:常规.安全.详细信息等. 简述 共有类型 共有类型 首先,需要包含头文件: #include & ...
- MFC,C++,VC++,VS2010 之间究竟是什么关系
C++是在C语言的基础上发展而来的面向对象的一种语言: MFC是基于C++类的窗口开发工具,内含大量的基类.降低编程人员的工作量: VC++是一种开发工具. VS2010是更高版本号的开发工具,功能强 ...
- MongoDB Shell (mongo)
https://docs.mongodb.com/getting-started/shell/client/ The mongo shell is an interactive JavaScript ...
- vue -- 7 个 有用的 Vue 开发技巧
1 状态共享 随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vu ...
- 将ubuntu安装在用剩下的硬盘改装成的移动硬盘时遇到的问题及解决办法
安装时分完盘后提示:“分配到/的分区开始于3584字节,使用磁盘的最小对齐,这可能造成非常差的性能..." 解决办法: 回到windows使用分区助手等工具先分好盘而不是在安装时分盘(这样分 ...
- 使用 Spring HATEOAS 开发 REST 服务--转
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-SpringHATEOAS/index.html?ca=drs-&utm_source ...
- 在cncc的最后几天的笔记
数据库范式:http://blog.csdn.net/fg2006/article/details/6936439 数据库事务隔离级别:http://blog.csdn.net/fg2006/arti ...
- ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(上)
前言 在上篇文章中,详细分析了RACSignal是创建和订阅的详细过程.看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用 ...
- Division Game UVA - 11859 Nim
Code: #include<cstdio> #include<algorithm> using namespace std; #define maxn 10005 int n ...
- 我的投资案例(3)-看好互联网和金融两大朝阳行业,参投入股垂直金融招聘平台"职业梦CareerDream.cn"
作为一名喜欢读书,关注中国和欧美国家发展的知识青年, 同时作为一名程序员和对金融投资感兴趣的业余爱好者,本人一直看好 以IT互联网为代表的科技和以投资VC为代表的金融,这2大朝阳行业的发展. ...