[英]Printing formatted DATE in PHP through ECHO statement
嘗試使用標准 ECHO 語句使用以下 PHP 代碼以“2019 年 11 月 15 日星期五”格式打印日期:
$mydate='2019-11-15';
echo "Raw mydate printed through echo is $mydate<br>";
echo "Formatted mydate through echo is ". date('l, d F Y', strtotime('$mydate'));
但是,output(生成如下)奇怪地將格式化日期取為 UNIX 中的第一個日期(即取消 $mydate 變量值)。 Output如下:
Raw mydate printed through echo is 2019-11-15
Formatted mydate through echo is Wednesday, 31 December 1969
PHP ECHO 語句不能識別格式化語句嗎? 如果是這樣,那么我在上面的代碼中做錯了什么?
PS:我已經嘗試過使用 " <?php echo htmlspecialchars($row["date"], ENT_QUOTES, "UTF-8"); ?>
" 如Format date within an echo中所述,但這也無濟於事。 還在格式化語句之前和之后使用了“ date_create
”語句(如$mydate = date_create($mydate);
),但在所有情況下,格式化的日期都是 31Dec1969。 我在這里做錯了什么,或者 ECHO 根本不支持格式化?
謝謝
試試這樣:
$mydate='2019-11-15';
echo "Raw mydate printed through echo is $mydate<br>";
echo "Formatted mydate through echo is ". date('l, d F Y', strtotime($mydate));
您的錯誤是strtotime
中的單引號。 如果您在單引號中傳遞一個變量,它將按字面意思進行。 因此,它實際上嘗試將$mydate
解析為文字字符串,它本身不獲取值。 如果要在字符串中傳遞變量,則應使用雙引號"
。
你可以在這里閱讀更多關於它的信息。
只需進行以下更改,您將$mydate
作為字符串傳遞給日期 function。
去掉單引號,如下圖:
$mydate='2019-11-15';
echo "Raw mydate printed through echo is $mydate<br>";
echo "Formatted mydate through echo is ". date('l, d F Y', strtotime($mydate));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.