2016-02-09 71 views
0

我正在關注一些教程,並且發現了一些我似乎無法包住我的頭的問題。一直在尋找它的推理或意義。PHP DateTime課程開始/結束標籤

只是練習DateTime類,我遇到了這個代碼,並試用了它。當我使用時代碼不會給我輸出。

<?php 

它確實給我輸出,當我使用。

<?= 

我已閱讀了PHP中的這種表示法,現在更多的是個人偏好。仍然建議使用標準的打開/關閉標籤,因爲舊版本的PHP在理解新標籤時不可行。

所以我的問題簡而言之就是:如何在echo語句中使用DateTime類只接受<?= ?>這個標籤來顯示一些輸出。

<?php 

$publishDate = '2014-08-24 09:14:00'; 

$localDateTime = new DateTime($publishDate, new DateTimeZone('America/New_York')); 

$utcDateTime = clone $localDateTime; 

$utcDateTime->setTimeZone(new DateTimeZone('UTC')); 

?> 

<p>The UTC date/time is: <?= $utcDateTime->format("Y-m-d H:i:s") ?></p> 
<p>The New York date/time is: <?= $localDateTime->format("Y-m-d H:i:s") ?></p>" 
+0

'<='是一個PHP短回波標籤,相當於'UTC日期/時間:<?PHP回聲$ utcDateTime->格式(「Ymd H:i:s」)?>

' – Steve

回答

2

<?=是一個速記PHP echo陳述,本質上意味着<?php echo(...

請注意,這個標籤是與短開放標籤混淆:<? - 這是一個完全不同的運營商,併爲PHP 5.4中,「短回波標籤」,實際上是不會受到short_open_tag設置: http://php.net/manual/en/language.basic-syntax.phptags.php

+0

謝謝!我一直在盯着屏幕,也想到忽略回聲。這解釋得很好! – izk

1

所以<?php<?=是兩回事,後者也使用echo,如果你想實現與<?php同樣的事情,你會做一些這樣的縮寫:

<?php 

$date = new DateTime(); 
echo $date->format('Y-m-d H:i:s'); 

還是在你的例子:

<p>The UTC date/time is: <?php echo $utcDateTime->format("Y-m-d H:i:s") ?></p> 
<p>The New York date/time is: <?php echo $localDateTime->format("Y-m-d H:i:s") ?></p>" 
+0

謝謝!它非常清楚。 – izk