一些日期的计算

某个月内的所有天数:

    public function getMonthDay ($date)
{
$stattime = strtotime(date('Ym01',strtotime($date .'01')));
$day = date('t',strtotime($date .'01'));
$i = 0;
$arr = [];
while ($i < $day) {
$arr[$i]['datetime'] = date('Ymd',$stattime + $i * 86400);
$i++;
} return $arr;
}

今日:图表X轴以小时为单位,每隔3小时显示一个数值。

 public function getToday ($date)
{
//今日:图表X轴以小时为单位,每隔3小时显示一个数值。
$today = strtotime ($date);
$todayEnd = strtotime ($date . '+1 day');
$hours = ($todayEnd - $today) / (3 * 3600); $i = 0;
$arr = [];
while ($i < $hours) {
$arr[$i]['starthour'] = date ('YmdH' , $today + $i * 3 * 3600);
$arr[$i]['endhour'] = date ('YmdH' , $today + (($i + 1) * 3 -1) * 3600);
$i++;
}
return $arr;
}

昨日:图表X轴以小时为单位,每隔3小时显示一个数值。

  public function getYesterday ($date)
{
//昨日:图表X轴以小时为单位,每隔3小时显示一个数值。
$today = strtotime ($date);
$yesterday = strtotime ($date .'-1 day');
$hours = ($today - $yesterday) / (3 * 3600); $i = 0;
$arr = [];
while ($i < $hours) {
$arr[$i]['starthour'] = date ('YmdH' , $yesterday + $i * 3* 3600);
$arr[$i]['endhour'] = date ('YmdH' , $yesterday + (($i + 1) * 3 -1)* 3600);
$i++;
} return $arr;
}

近1月:图表X轴以天为单位,每隔7天显示一个数值。

public function getMonth ($date)
{
//近1月:图表X轴以天为单位,每隔7天显示一个数值。
$mon = date ('Ym01' , strtotime ($date)); $month = strtotime(date('Ym01',strtotime($mon .'-1 month'))); //上个月第一天
$monthend = strtotime(date ('Y-m-t',$month)); // 上个月最后一天 $days = floor(($monthend - $month) / (7 * 24 * 3600));
if ($days<4) {
$days = 4; // 28天的月份
}
$i = 0;
$arr = [];
while ($i < $days) {
$arr[$i]['startdays'] = date ('Ymd' , $month + $i * 7 * 24 * 3600);
if($days==$i+1){
$arr[$i]['enddays'] = date('Ymd',$monthend);//上个月最后一天
}else{
$arr[$i]['enddays'] = date ('Ymd' , $month + (($i + 1) * 7-1) * 24 * 3600);
}
$i++;
} return $arr;
}

近6月:图表X轴以月为单位,每个月份显示一个数值。

 public function getSixMonth ($date)
{
//近6月:图表X轴以月为单位,每个月份显示一个数值。
$i = 0;
$arr = [];
$date = date('Y-m-01',strtotime($date));
while ($i < 6) {
$arr[$i]['startmonth'] = date ('Ym' , strtotime ($date .'-'. (6 - $i) . ' month'));
$arr[$i]['endmonth'] = date ('Ym' , strtotime ($date .'-'.(6 - $i) . ' month'));
$i++;
}
return $arr;
}

一些日期的计算方式 PHP的更多相关文章

  1. Java中使用LocalDate根据日期来计算年龄

    Java中和日期直接相关的类有很多,平时最常用到的就是java.util package下面的Date和Calendar,需要用到格式的时候还会用到java.text.SimpleDateFormat ...

  2. Python获取当前日期和日期差计算

    在Python中获取日期和时间很简单,主要使用time和datetime包 1.获取当前时间并格式化 from dateutil import rrule from datetime import d ...

  3. sas编程-日期相差计算函数 intnx

    sas编程-日期相差计算函数 intnx 示例代码: data _null_;    lastdate=intnx('year',today(),-100);    format lastdate  ...

  4. System.currentTimeMillis()计算方式与时间的单位转换

    目录[-] 一.时间的单位转换 二.System.currentTimeMillis()计算方式 一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 ...

  5. NTC(负温度)热敏电阻.阻值的计算方式

    来源 :http://blog.csdn.net/blue0432/article/details/8690190 现在低成本测温方案中NTC热敏电阻用的比较多,一般采用查表的方法获取温度值,这就牵涉 ...

  6. mysql中TPS, QPS 的计算方式

    今天突然有个同事问题一个问题, mysqlTPS和QPS的计算公式是什么? 以前确实也没有关注过这个计算公式,所以查了下学习了下: 下面是参考内容.  在做db基准测试的时候,qps,tps 是衡量数 ...

  7. Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)

    JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03  xls格式的Excel. 本文是项目中用到的一个实例,先通过上传xls文件(包含日期),再通过jxl进行读取上传 ...

  8. 自学Aruba1.3-WLAN一些基本常识802.11n速率计算方式、802.11n及802.11AC速率表

    点击返回:自学Aruba之路 自学Aruba1.3-WLAN一些基本常识802.11n速率计算 1. 802.11n速率计算方式1.1 802.11n使用的主要技术 802.11n采用MIMO多天线技 ...

  9. oracle行转列、列转行、连续日期数字实现方式及mybatis下实现方式

    转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9977591.html 九月份复习,十月份考试,十月底一直没法收心,赶在十一初 由于不可抗拒的原因又不得不重新找 ...

随机推荐

  1. loadrunner脚本函数讲解

    一. get请求和post请求区别:web_link(get).web_submit_form(post)依赖上下文,web_url.web_submit_data不依赖上下文,建议使用web_url ...

  2. (十四)Exploring Your Data

    Sample Dataset Now that we’ve gotten a glimpse of the basics, let’s try to work on a more realistic ...

  3. linux下开启、关闭、重启mysql服务命令

    一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql start3.使用 safe_mysqld 启动 ...

  4. webservice异常

    webservice的一个常见异常: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error parsing HTTP status line &qu ...

  5. Linux--主从复制

    一 . mysql+centos7 mariadb mariadb其实是跟mysql是一样的,只不过是在centos7上叫做mariadb, 主要是因为mysql被甲骨文公司收购后,可能会有闭源的风险 ...

  6. 安装 Power BI 报表服务器

    开始之前 建议在安装 Power BI 报表服务器之前先查看安装 Power BI 报表服务器所要满足的硬件和软件要求. Power BI 报表服务器产品密钥 Power BI Premium 如果已 ...

  7. mysql主从复制、redis基础、持久化和主从复制

    一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...

  8. Educational Codeforces Round 60 (Rated for Div. 2)

    A. Best Subsegment 题意 找 连续区间的平均值  满足最大情况下的最长长度 思路:就是看有几个连续的最大值 #include<bits/stdc++.h> using n ...

  9. thymeleaf 页面获取当前页面的完整URL地址

    下面两种方法是一样的 <div th:text="${#httpServletRequest.getRequestURL() +'?'+ #httpServletRequest.get ...

  10. 测试框架httpclent 1.HttpClient简介及第一个demo

    httpclient就是一个模拟 发送http请求的一个工具. 首先在pom.xml文件里面添加工具类 <dependencies> <dependency> <grou ...