PHP获取上周一和上个月
PHP获取上周一有个坑,如果今天是周一,获取的是上周一。如果今天是周二到周日,获取的是本周一。
根据传递的页码数和每页显示多少条,获取对应的数据:
if ($data['type'] == 'day') {
$unit = 'day';
} else if ($data['type'] == 'week') {
$unit = 'monday';
} else if ($data['type'] == 'month') {
$unit = 'month';
}
$time = time();
$today = date("Y-m-d", $time);
$end_offset = ($data['page'] - ) * $data['size'] + ;
$start_offset = $end_offset + $data['size'] - ;
$start_timestamp = strtotime("{$today} -{$start_offset} $unit");
$end_timestamp = strtotime("{$today} -{$end_offset} $unit");
if ($data['type'] == 'week') {
$end_timestamp += * - ;
if (date("w", $time) != ) {
$start_timestamp -= * ;
$end_timestamp -= * ;
}
} else if ($data['type'] == 'month') {
$start_timestamp = strtotime(date("Y-m-01 00:00:00", $start_timestamp));
$end_timestamp = strtotime(date("Y-m-t 23:59:59", $end_timestamp));
}
$flag = true;
$stamp = strtotime(date("Y-m-d 00:00:00", $end_timestamp));
while ($flag) {
if (isset($array_map[$stamp]) && !empty($array_map[$stamp])) {
$result[] = $array_map[$stamp];
} else {
$default['stamps'] = $stamp;
$default['date'] = date("Ymd", $stamp);
$result[] = $default;
} if ($data['type'] == 'day') {
$stamp -= ;
} else if ($data['type'] == 'week') {
$stamp -= * ;
} else if ($data['type'] == 'month') {
//$stamp对应的月份的1号,往前1天就是上个月的最后一天
$date = date("Y-m-01", $stamp);
$stamp = strtotime("{$date} -1 day");
} if ($stamp < $start_timestamp) {
$flag = false;
}
}
PHP获取上周一和上个月的更多相关文章
- (转)Oracle 获取上周一到周末日期的查询sql语句
-- Oracle 取上周一到周末的sql -- 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date('20130906','yyyymmdd'),'d') f ...
- PHP 获取当前日期的上个月的日期
获取当前日期的上个月的日期 <?php /** *参考有: *http://www.oschina.net/code/snippet_96541_4015 *http://stackoverfl ...
- Mysql 获取当月和上个月第一天和最后一天的SQL
Mysql 获取当月和上个月第一天和最后一天的SQL #获取当前日期select curdate(); #获取当月最后一天select last_day(curdate()); #获取本月的第一天se ...
- Mysql 获取当月和上个月第一天和最后一天的解决方案
#获取当前日期select curdate(); #获取当月最后一天select last_day(curdate()): #获取本月的第一天select date_add(curdate(),int ...
- JS获取今天和上个月的今天
function getLastMonth(){ var now=new Date(); var year = now.getFullYear();//getYear()+1900=getFullYe ...
- js获取昨天/上周/上个月开始和结束的时间戳,可以设置时分秒 js obtain start and end timestamp of yesterday/last week/last month, with set of hour/minute/second
//obtain timestamp of last week var now=new Date() var nowDayOfWeek = now.getDay(); //今天本周的第几天 var n ...
- SQL如何通过当前日期获取上周一日期【转】
--当前时间 select getdate() --当前时间周的起始日期(以周一为例) ,) --上周起始: ,,)) --上上周起始: ,,)) --上上上周起始:s elect ,,))
- Java各种日期格式的获取和设置指定日期
因为近期在做一个项目,发现项目中日期设置的bug,于是查阅了多方资料后.最终攻克了,为此写篇总结.方便日后的查阅. 多的不说了.直接上代码 package com.example.testdate; ...
- java中获取日期和时间的方法总结
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...
随机推荐
- 静态链接 VS 动态链接
什么是链接? 链接其实就是连接的意思,将所有相关的东西连接起来. 简单理解静态连接和动态链接: 静态链接:编译时完成链接 动态链接:程序运行起来后,根据需求再去链接,这就是动态链接 静态链接 什么是静 ...
- 使用Windows命令行reg控制注册表键值
使用Windows命令行reg控制注册表键值 引言 熟悉Windows操作系统的朋友可能都知道,Windows操作系统下的注册表相当于系统的数据库 ,部分软件将自己的配置信息都放在注册表里面,而注册表 ...
- 某个Spring Cloud分布式架构
- 数组中的reduce
reduce方法第一次对我的感觉是很鸡肋,但是深入了解,才发现其中的奥妙,是个非常强大且实用的方法 var arr = [1,2,3,4,5,6,7]; var sum = arr.reduce( ( ...
- Codeforces Round #582 (Div. 3)-G. Path Queries-并查集
Codeforces Round #582 (Div. 3)-G. Path Queries-并查集 [Problem Description] 给你一棵树,求有多少条简单路径\((u,v)\),满足 ...
- Python 'takes exactly 1 argument (2 given)' Python error
Python,定义urlConfig 接收参数,正常传递参数时,出现,多给了一个参数的错误问题, 定义class的函数之后,在调用的时候出现“'takes exactly 1 argument (2 ...
- 优化你的HTTPS(上),你需要这么做
HTTP/2 HTTP 2.0即超文本传输协议 2.0,是下一代HTTP协议.是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小 ...
- vue quill使用&quill 自定义图片上传&自定义mp4 更换标签
pluins 创建quill 目录 创建文件video.js import { Quill } from 'vue-quill-editor' // 源码中是import直接倒入,这里要用Quill. ...
- 56、servlet3.0-与SpringMVC整合分析
56.servlet3.0-与SpringMVC整合分析 web容器在启动的时候,会扫描每个jar包下的META-INF/services/javax.servlet.ServletContainer ...
- sql server 将某一列的值拼成一个字符串 赋值到一个字段内
DECLARE @refCodeitems VARCHAR(800), SELECT @refCodeitems=ISNULL(@refCodeitems,'')+refCodeitem +'/' ...