一些日期的计算方式 PHP
一些日期的计算
某个月内的所有天数:
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的更多相关文章
- Java中使用LocalDate根据日期来计算年龄
Java中和日期直接相关的类有很多,平时最常用到的就是java.util package下面的Date和Calendar,需要用到格式的时候还会用到java.text.SimpleDateFormat ...
- Python获取当前日期和日期差计算
在Python中获取日期和时间很简单,主要使用time和datetime包 1.获取当前时间并格式化 from dateutil import rrule from datetime import d ...
- sas编程-日期相差计算函数 intnx
sas编程-日期相差计算函数 intnx 示例代码: data _null_; lastdate=intnx('year',today(),-100); format lastdate ...
- System.currentTimeMillis()计算方式与时间的单位转换
目录[-] 一.时间的单位转换 二.System.currentTimeMillis()计算方式 一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 ...
- NTC(负温度)热敏电阻.阻值的计算方式
来源 :http://blog.csdn.net/blue0432/article/details/8690190 现在低成本测温方案中NTC热敏电阻用的比较多,一般采用查表的方法获取温度值,这就牵涉 ...
- mysql中TPS, QPS 的计算方式
今天突然有个同事问题一个问题, mysqlTPS和QPS的计算公式是什么? 以前确实也没有关注过这个计算公式,所以查了下学习了下: 下面是参考内容. 在做db基准测试的时候,qps,tps 是衡量数 ...
- Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)
JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03 xls格式的Excel. 本文是项目中用到的一个实例,先通过上传xls文件(包含日期),再通过jxl进行读取上传 ...
- 自学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多天线技 ...
- oracle行转列、列转行、连续日期数字实现方式及mybatis下实现方式
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9977591.html 九月份复习,十月份考试,十月底一直没法收心,赶在十一初 由于不可抗拒的原因又不得不重新找 ...
随机推荐
- loadrunner脚本函数讲解
一. get请求和post请求区别:web_link(get).web_submit_form(post)依赖上下文,web_url.web_submit_data不依赖上下文,建议使用web_url ...
- (十四)Exploring Your Data
Sample Dataset Now that we’ve gotten a glimpse of the basics, let’s try to work on a more realistic ...
- linux下开启、关闭、重启mysql服务命令
一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql start3.使用 safe_mysqld 启动 ...
- webservice异常
webservice的一个常见异常: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error parsing HTTP status line &qu ...
- Linux--主从复制
一 . mysql+centos7 mariadb mariadb其实是跟mysql是一样的,只不过是在centos7上叫做mariadb, 主要是因为mysql被甲骨文公司收购后,可能会有闭源的风险 ...
- 安装 Power BI 报表服务器
开始之前 建议在安装 Power BI 报表服务器之前先查看安装 Power BI 报表服务器所要满足的硬件和软件要求. Power BI 报表服务器产品密钥 Power BI Premium 如果已 ...
- mysql主从复制、redis基础、持久化和主从复制
一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...
- Educational Codeforces Round 60 (Rated for Div. 2)
A. Best Subsegment 题意 找 连续区间的平均值 满足最大情况下的最长长度 思路:就是看有几个连续的最大值 #include<bits/stdc++.h> using n ...
- thymeleaf 页面获取当前页面的完整URL地址
下面两种方法是一样的 <div th:text="${#httpServletRequest.getRequestURL() +'?'+ #httpServletRequest.get ...
- 测试框架httpclent 1.HttpClient简介及第一个demo
httpclient就是一个模拟 发送http请求的一个工具. 首先在pom.xml文件里面添加工具类 <dependencies> <dependency> <grou ...