<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • PHP strtotime小BUG

    程序猿 2021-07-31 16:37:11 1960瀏覽 加載中

    今天看網站統計發現上月和這月的數據一樣。用的whereMonth 時間查詢

    ->whereMonth('create_time')  // 本月
    ->whereMonth('create_time','last month')  // 上月

    看著代碼沒啥問題,往上翻找到了

            if (in_array($month, ['this month', 'last month'])) {
                $month = date('Y-m', strtotime($month));
            }

    于是打印了

    dump(date("Y-m-d",strtotime("this month")));
    dump(date('Y-m-d', strtotime("last month")));

    結果

    ^ "2021-07-31"
    ^ "2021-07-01"

    這不是同一月么。這是strtotime函數的BUG吧。在31號的時候返回不到上一月。

    在網上巴拉巴拉,發現可以這樣寫

    dump(date("Y-m-d",strtotime("first day of this month")));
    dump(date('Y-m-d', strtotime("first day of last month")));

    結果

    ^ "2021-07-01"
    ^ "2021-06-01"

    這樣就能返回到上一個月了。

    標簽:
    最后修改:2025-07-09 16:47:29

    非特殊說明,本博所有文章均為博主原創。

    主站蜘蛛池模板: 河曲县| 孝义市| 专栏| 介休市| 长宁县| 邢台县| 荔浦县| 常宁市| 马鞍山市| 上高县| 阜宁县| 高安市| 通辽市| 桐城市| 名山县| 洪洞县| 凌海市| 汽车| 南丰县| 清丰县| 子洲县| 陆川县| 德阳市| 秀山| 黎平县| 宜宾市| 小金县| 旺苍县| 磐安县| 婺源县| 平遥县| 邹平县| 巴南区| 阿拉善右旗| 石林| 晋中市| 湘潭县| 永福县| 龙山县| 麟游县| 阿城市|