php 这个月的最后一天,php取本周、本月的第一天与最后一天

echo '本周第一天(星期日为一周开始):'.date('Y-m-d', time()-86400*date('w')).'

';

echo '本周第一天(星期一为一周开始):'.date('Y-m-d', time()-86400*date('w')+(date('w')>0?86400:-6*86400)).'

';

echo '本月第一天:'.date('Y-m-d', mktime(0,0,0,date('n'),1,date('Y'))).'

';

echo '本月最后一天:'.date('Y-m-d', mktime(0,0,0,date('n'),date('t'),date('Y'))).'

';复制代码

2,PHP DATE 取得当月的第一天和最后一天!

echo date('Y-m-01',time()).'----'.date('Y-m-t',time())

3,PHP时间函数 给定日期的下个月第一天 当月第一天

代码:

function GetPurMonth($date){//获取指定日期上个月的第一天和最后一天。

$time=strtotime($date);

$firstday=date('Y-m-01',strtotime(date('Y',$time).'-'.(date('m',$time)-1).'-01'));

$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));

return array($firstday,$lastday);

}复制代码

问题出现了。

比如获取第一天,上面这种使用(date('m',$time)-1);万一要是获取给定日期的上上个月呢。

难道要直接减2?那万一要是给定的日期是1月份呢。难道最终会成为 date('Y-m-01', strtotime('2012--1-01')) ?????这明显是个错误 的时间格式。

所以这种函数不适合扩展使用。

查询PHP函数库,找到一个函数 mktime();

mktime()

定义和用法

mktime() 函数返回一个日期的 Unix 时间戳。

参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。

参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。

语法

mktime(hour,minute,second,month,day,year,is_dst)

例子:

mktime() 函数对于日期运算和验证非常有用。它可以自动校正越界的输入;

这是什么意思。自动校正越界输入。对头。我们就是要这个功能。下面看下实例

echo date('Y-m-d', strtotime('2012--2-1'));

echo '

';

echo date('Y-m-d', mktime(0,0,0,-2,1,2012));复制代码

要输出2012年1月1号前2个月的日期。

即 2011年10月1号。

1970-01-01

2011-10-01

结论:

第一个函数出错了。显示了时间戳为0的时间。

而第二个函数让我们得到了想要的时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值