- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP使用strtotime获取上个月、下个月、本月的日期由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改.
获取本月日期:
1
2
3
4
5
|
function
getMonth(
$date
){
$firstday
=
date
(
"Y-m-01"
,
strtotime
(
$date
));
$lastday
=
date
(
"Y-m-d"
,
strtotime
(
"$firstday +1 month -1 day"
));
return
array
(
$firstday
,
$lastday
);
}
|
$firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了.
获取上月日期:
1
2
3
4
5
6
|
function
getlastMonthDays(
$date
){
$timestamp
=
strtotime
(
$date
);
$firstday
=
date
(
'Y-m-01'
,
strtotime
(
date
(
'Y'
,
$timestamp
).
'-'
.(
date
(
'm'
,
$timestamp
)-1).
'-01'
));
$lastday
=
date
(
'Y-m-d'
,
strtotime
(
"$firstday +1 month -1 day"
));
return
array
(
$firstday
,
$lastday
);
}
|
上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2014-0-1这种东西转换成2013-12-01,太爽了.
获取下月日期:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function
getNextMonthDays(
$date
){
$timestamp
=
strtotime
(
$date
);
$arr
=
getdate
(
$timestamp
);
if
(
$arr
[
'mon'
] == 12){
$year
=
$arr
[
'year'
] +1;
$month
=
$arr
[
'mon'
] -11;
$firstday
=
$year
.
'-0'
.
$month
.
'-01'
;
$lastday
=
date
(
'Y-m-d'
,
strtotime
(
"$firstday +1 month -1 day"
));
}
else
{
$firstday
=
date
(
'Y-m-01'
,
strtotime
(
date
(
'Y'
,
$timestamp
).
'-'
.(
date
(
'm'
,
$timestamp
)+1).
'-01'
));
$lastday
=
date
(
'Y-m-d'
,
strtotime
(
"$firstday +1 month -1 day"
));
}
return
array
(
$firstday
,
$lastday
);
}
|
下月日期的代码看起来比较长一点,因为date()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦.
总得来说,还是很方便的,日期函数太强大了.
最后简单介绍下strtotime的用法 。
获取指定日期的unix时间戳 。
strtotime("2009-1-22") 示例如下: echo strtotime("2009-1-22") 结果:1232553600 说明:返回2009年1月22日0点0分0秒时间戳 。
获取英文文本日期时间 。
示例如下: 便于比较,使用date将当时间戳与指定时间戳转换成系统时间 。
(1)打印明天此时的时间戳strtotime("+1 day") 当前时间: echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25 指定时间: echo date("Y-m-d H:i:s",strtotime("+1 day")) 结果:2009-01-23 09:40:25 。
(2)打印昨天此时的时间戳strtotime("-1 day") 当前时间: echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25 指定时间: echo date("Y-m-d H:i:s",strtotime("-1 day")) 结果:2009-01-21 09:40:25 。
(3)打印下个星期此时的时间戳strtotime("+1 week") 当前时间: echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25 指定时间: echo date("Y-m-d H:i:s",strtotime("+1 week")) 结果:2009-01-29 09:40:25 。
(4)打印上个星期此时的时间戳strtotime("-1 week") 当前时间: echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25 指定时间: echo date("Y-m-d H:i:s",strtotime("-1 week")) 结果:2009-01-15 09:40:25 。
(5)打印指定下星期几的时间戳strtotime("next Thursday") 当前时间: echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25 指定时间: echo date("Y-m-d H:i:s",strtotime("next Thursday")) 结果:2009-01-29 00:00:00 。
(6)打印指定上星期几的时间戳strtotime("last Thursday") 当前时间: echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25 指定时间: echo date("Y-m-d H:i:s",strtotime("last Thursday")) 结果:2009-01-15 00:00:00 。
以上示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间.
最后此篇关于PHP使用strtotime获取上个月、下个月、本月的日期的文章就讲到这里了,如果你想了解更多关于PHP使用strtotime获取上个月、下个月、本月的日期的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
时间戳格式: ? 1
本文实例讲述了PHP简单获取上月、本月、近15天、近30天方法。分享给大家供大家参考,具体如下: ?
前言 本文主要介绍的是关于利用python 获取本周,上周,本月,上月,本季的时间,话不多说了,来一起看看实现的方法吧 示例代码: ?
查询当前这周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m
以下查询返回正确的结果,但如何更快地获得相同的结果? 目标是输出一个表格,通过总结今天、本周、本月和季度的销售额来跟踪卖家的进度。 SellerID Today
今天 ? 1
查询本日记录 SELECT * FROM messages WHERE CONVERT(Nvarchar, CreateDate, 111) = CONVERT(Nvarchar, GETDATE
您好,我想使用“本周”、“本月”、“今年”从 MySql 表中搜索数据。下面是我的 Controller 代码。我没有获得当前 DATE_SUB(NOW(), INTERVAL 1 WEEK 的任何数
mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天
我已经通过if else 构建了长距离或传统方式的过滤代码,我需要使用高级 JavaScript 方法(如 filter、map、reduce)来完成 home.html
我想做的是让 NSDate 今天、昨天、本周、上周、本月、上个月变量准备好进行比较,以便在 UITableView 的 titleForHeaderInSection 上添加标题 我想要的是在下面的代
我是一名优秀的程序员,十分优秀!