簡體   English   中英

通過 ECHO 語句在 PHP 中打印格式化的 DATE

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM