V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mingyun
V2EX  ›  PHP

为什么 last monday 是本周一?

  •  
  •   mingyun · 2018-06-30 18:39:00 +08:00 · 2176 次点击
    这是一个创建于 2098 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上周一的日期

    echo date('Ymd',strtotime('last monday '));//20180625 
    echo date('Ymd',strtotime('last monday -7 day'));//20180618
    
    第 1 条附言  ·  2018-06-30 23:24:47 +08:00
    国外 this monday 为下周一 last 为本周

    ```js
    >>> date('Y-m-d', strtotime('-' . (6+date('w')) . ' days'));
    => "2018-06-18"
    >>> date('Y-m-d H:i:s',strtotime('monday last week'))
    => "2018-06-18 00:00:00"
    >>> date('Y-m-d H:i:s',strtotime('-2 monday'))
    => "2018-06-18 00:00:00"
    >>> date('Y-m-d H:i:s',strtotime('monday'))
    => "2018-07-02 00:00:00"
    ```
    第 2 条附言  ·  2018-06-30 23:31:13 +08:00

    其他

    	//php获取今日开始时间戳和结束时间戳
    	$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
    	$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
    	//php获取昨日起始时间戳和结束时间戳
    	$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
    	$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
    	//php获取上周起始时间戳和结束时间戳
    	$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
    	$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
    	//php获取本月起始时间戳和结束时间戳
    	$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
    	$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
    
    //本周一
    echo date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)); //w为星期几的数字形式,这里0为周日
    
    
    //本周日
    
    echo date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)); //同样使用w,以现在与周日相关天数算
    
    
    
    //本月一日
    
    echo date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00')); //直接以strtotime生成
    
    
    //本月最后一日
    
    echo date('Y-m-d', strtotime(date('Y-m', time()) . '-' . date('t', time()) . ' 00:00:00')); //t为当月天数,28至31天
    
    
    //上月一日
    
    echo date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01 00:00:00'))); //本月一日直接strtotime上减一个月
    
    
    //上月最后一日
    
    echo date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00') - 86400); //本月一日减一天即是上月最后一日
    
    
    shoaly
        1
    shoaly  
       2018-06-30 20:25:22 +08:00
    this monday -7days
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3256 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:06 · PVG 22:06 · LAX 07:06 · JFK 10:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.