努力使用以下不起作用的代碼($ThisYear 引數)
$ThisYear = date("Y");
$ThisYear = strtotime($ThisYear);
$sql2 = 'SELECT
distinct
DATE_FORMAT(TransDate, "%M %Y") as MonthYear
, DATE_FORMAT(TransDate, "%Y") as TransYear
, DATE_FORMAT(TransDate, "%m") as TransMonth
from Leave
where YEAR(TransDate) = **"$ThisYear"**
group by DATE_FORMAT(TransDate, "%M %Y")
order BY YEAR(TransDate), MONTH(TransDate) desc';
與之相比,這是有效的:
$ThisYear = date("Y");
$sql2 = 'SELECT
distinct
DATE_FORMAT(TransDate, "%M %Y") as MonthYear
, DATE_FORMAT(TransDate, "%Y") as TransYear
, DATE_FORMAT(TransDate, "%m") as TransMonth
from Leave
where YEAR(TransDate) = **2022**
group by DATE_FORMAT(TransDate, "%M %Y")
order BY YEAR(TransDate), MONTH(TransDate) desc';
uj5u.com熱心網友回復:
根據 PHP 檔案,strtotime()將任何英文文本日期時間描述決議為Unix timestamp。
為了:
- 您的變數已轉換為數字(2022 年的 1666484520 Unix 時間戳)。
- 服務器將年份數與您的變數 = 1666484520 進行比較。
這是正確的查詢和變數。
$ThisYear = date("Y");
$sql2 = 'SELECT
distinct
DATE_FORMAT(TransDate, "%M %Y") as MonthYear
, DATE_FORMAT(TransDate, "%Y") as TransYear
, DATE_FORMAT(TransDate, "%m") as TransMonth
from Leave
where YEAR(TransDate) = $ThisYear
group by DATE_FORMAT(TransDate, "%M %Y")
order BY YEAR(TransDate), MONTH(TransDate) desc';
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/522209.html
標籤:phpmysql日期
上一篇:如何根據日期列出另一張表中的資料
