一些日期的计算方式 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 九月份复习,十月份考试,十月底一直没法收心,赶在十一初 由于不可抗拒的原因又不得不重新找 ...
随机推荐
- Java 生态核心知识点整理
又到了求职的金三银四的黄金月份,我相信有不少小伙伴已经摩拳擦掌的准备寻找下一份工作. 就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句 ...
- PS制作水火相溶特效文字图片
最终效果 一.新建一个1400*900像素的画布. 二.由上到下拉一个深灰到纯黑径向渐变. 三.输入字母S,并用ctrl+t拉到适合的大小,并且降低不透明度. 四.拖入水花素材(如果大家有水花笔刷的话 ...
- 如何用java发送Http的post请求,并传递参数
书写方法,请参考以下代码: package utils; import java.io.BufferedReader; import java.io.IOException; import java. ...
- XP_CMDSHELL 执行命令添加 windows 用户的方法
1. 之前看过不少文档 可以使用 xp_SQLCMD的命令来进行渗透处理, 今天因为公司的服务器又中毒了 自己学习了下. 2. 修改SQLSERVER的设置 远程登录数据库 sqlcmd -S 10. ...
- mysql查看存储过程函数
查询数据库中的存储过程和函数 select `name` from mysql.proc where db = 'xx' and `type` = 'PROCEDURE' //存储过程 ...
- 五、Java多人博客系统-2.0版本-数据库设计
数据库设计表如下:文章类别表.文章表.评论表.留言表. 文章列表表:存放文章类别,首页菜单生成也是从这个表取的. 文章表:存放文章标题.发表时间.内容等信息. 评论表:文章评论内容. 留言表:用户发表 ...
- 皮尔逊相关系数(Pearson Correlation Coefficient, Pearson's r)
Pearson's r,称为皮尔逊相关系数(Pearson correlation coefficient),用来反映两个随机变量之间的线性相关程度. 用于总体(population)时记作ρ (rh ...
- Nim积解法小结
由于某毒瘤出题人 redbag 不得不学习一下这个史诗毒瘤算法. 本文参考了 Owaski 的 GameTheory 的课件. 定义 我们对于一些二维 \(\mathrm{Nim}\) 游戏(好像更高 ...
- 记录一次被bc利用跳转过程分析
挖公司的项目站,发现站点一访问就直接跳转到了赌博站,有点懵逼,简单分析下hc利用过程: 公司项目站:http://***.com 当我访问它: 通过http:***.com直接跳转到了306648.c ...
- BZOJ 3192: [JLOI2013]删除物品(树状数组)
题面: https://www.lydsy.com/JudgeOnline/problem.php?id=3192 题解: 首先每次一定是来回移动直到最大的到顶上. 所以我们可以将第两个堆的堆顶接起来 ...