获取本周三--下周三的时间戳

        如何获取本周三--下周三期间的   开始时间戳和结束时间戳?


1、先来说一个问题,你确定你获取的是本周一的时间戳吗?

     自然周:按照一般理解和国际惯例,是周一到周日。

     //2018-05-07 是星期一, 2018-05-13是周日。按道理来说,2018-05-07 和 2018-05-13 对应的周一都应该是 2018-05-07。

var_dump( date('Y-m-d H:i:s',strtotime('monday')) );

    一般来说,输出的是 2018-05-07 00:00:00,但是遇到星期天呢?

var_dump(  date('Y-m-d H:i:s',strtotime('monday',strtotime("2018-05-13"))) );

    可以看到遇到周日,输出结果就变成了 2018-05-14 00:00:00,就不是本周的周一了,


    

    其他常用的:

strtotime("today"); //今天
strtotime("'next monday'"); //下个周一
strtotime('last Friday'); //上个周五
strtotime("next Wednesday", strtotime("2018-05-07")); //指定日期的下一个星期三

    ps:是下一个星期三,并不是下一个星期的星期三  比如今天是 2018-05-07 星期一,得到的是 2018-05-09

冷暖自知一抹茶ck


那么,如何获取本周三--下周三之间的一个非自然周呢(本周三--下周二)?

function getBtmAndEtm()
{
    $today      = date('w') != 0 ? time(): strtotime('-1 day');
    $btm      = mktime(0, 0 , 0,date("m",$today),date("d",$today)-date("w",$today)+3,date("Y",$today));
    $etm      = mktime(0, 0 , 0,date("m",$today),date("d",$today)-date("w",$today)+10,date("Y",$today)) -1;
    
    return array( 'btm' => $btm, 'etm' => $etm );
}
当前时间:2018-05-08 16:57

var_dump(date('Y-m-d H:i:s', strtotime('last week Wednesday')) );//last week Wednesday-2018-05-02 00:00:00
var_dump(date('Y-m-d H:i:s', strtotime('this week Wednesday')) );//this week Wednesday-2018-05-09 00:00:00
var_dump(date('Y-m-d H:i:s', strtotime('next week Wednesday')) );//next week Wednesday-2018-05-16 00:00:00


指定时间查看 上周三、本周三、下周三(周日获取前一天的)
var_dump(date('Y-m-d H:i:s', strtotime('last week Wednesday',strtotime('2018-05-12'))) );//lats 2018-05-02 00:00:00
var_dump(date('Y-m-d H:i:s', strtotime('this week Wednesday',strtotime('2018-05-12'))) );//this 2018-05-09 00:00:00
var_dump(date('Y-m-d H:i:s', strtotime('next week Wednesday',strtotime('2018-05-12'))) );//next 2018-05-16 00:00:00




获取本周一的时间戳?当前时间:2018-05-08 16:52

var_dump(date("Y-m-d H:i:s", strtotime('This week monday') ));                        //2018-05-07 00:00:00
var_dump(date("Y-m-d H:i:s", strtotime('This week monday',strtotime("2018-05-13")) ));//2018-05-07 00:00:00


PHP获取上个月最后一天的问题?

//先获取本月的第一天,再-1天
$time =  strtotime(date('Y-m-01',1456675200));
echo date('Y-m-d',strtotime('-1 day',$time));  //2016-01-31


冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论