一些日期的计算方式 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 九月份复习,十月份考试,十月底一直没法收心,赶在十一初 由于不可抗拒的原因又不得不重新找 ...
随机推荐
- mysql 提高一 动态sql 传变量
1.需求 DELIMITER $$ SECOND STARTS '2018-09-07 08:00:00' ON COMPLETION PRESERVE ENABLE DO BEGIN ) DEFAU ...
- 在Bootstrap开发框架中使用dataTable直接录入表格行数据(2)--- 控件数据源绑定
在前面随笔<在Bootstrap开发框架中使用dataTable直接录入表格行数据>中介绍了在Web页面中使用Jquery DataTable插件进行对数据直接录入操作,这种处理能够给用户 ...
- 微软是如何重写C#编译器并使它开源的
译者:王亮作者:Mads Torgersen (C# Language PM at Microsoft)原文:http://t.cn/EPOG96O 译者的一些话: 看了大家的评论,有园友说我翻译的不 ...
- 循环语句之for循环
什么是循环语句? 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否 ...
- Static Sushi AtCoder - 4118 (技巧枚举)
Problem Statement "Teishi-zushi", a Japanese restaurant, is a plain restaurant with only o ...
- 一段c++代码实现睡眠功能
#ifdef ACL_UNIX struct timeval tv; tv.tv_sec = delay / 1000; tv.tv_usec = (suseconds_t) (delay - tv. ...
- win10设置操作备忘
添加密码, 更改密码: Win键-->左侧用户图标-->更改帐户设置-->登陆选项-->添加密码 | 更改密码
- Java 如何存取MySQL datetime类型
1 在java中只有Date类型,这样数据存储到MySQL会出现问题,前台提交的数据,比如2018-03-20 17:30:59,后台用Date接受的时候,由于Date只精确到天,所以默认接收时间为2 ...
- 一、Mysql安装
一.官网下载:https://dev.mysql.com/downloads/mysql/ 二.解压下载好的压缩包,本人存放的位置如下: 如下图解压后的文件目录,因版本的差异.一开始解压后的文件夹下可 ...
- error:Microsoft Visual C++ 14.0 is required.
1,下载14.0安装包,解压,再次执行pip install XX命令 2,安装包已经在下载文件中 3,最不行找这个网站 https://www.microsoft.com/zh-cn/downloa ...