2012-10-12 32 views

回答

31

從你的榜樣,你提供了一個有點晚

echo date('d-m-Y \a\t H:i:s') . ' hours'; 

派生,如果它是一個DateTime對象

echo $datetime->format('d-m-Y \a\t H:i:s') . ' hours'; 

,如果你已經擁有了它作爲一個字符串

echo str_replace(' ', ' at ', $datetime) . ' hours'; 
+14

'\ a \ t'爲我返回'a'。不過,把另一個'\ a \\ t'起作用。 – rybo111

+1

這是因爲't'是'date'字符串元素(給定月份中的天數),將其轉義爲'\ t'會輸出一個製表符。因此這需要額外的逃脫! – Ben

+0

'\ a \ t'對我有用,比如'a \\ t' –

7

是你能夠。

$date=date("m-d-Y"); 
$time=date("H:i:s"); 
$display=$date.'at'.$time; 
+1

也許把它改爲'$ display = $ date'。 at'。$ time;'注意'at'周圍的空格。 –

0

首先請把ISO格式指定的日期,以便strtotime()可以讀取它,然後用date()功能相應格式的日期。

date('/*DATE FORMAT YOU WANTED*/', strtotime('/*ISO FORMATTED DATE*/')); 
3

奇怪的是我希望把

date("l the jS F Y");

閱讀例如2017年1月9日星期一,但我得到了「2017年1月9日星期一3106UTC」。我從xception上面讀到上面的答案,並將其更改爲date("l \t\h\e jS F Y"),它給了我「2017年1月9日星期一」,所以我閱讀了rybo111的評論,並將其更改爲date("l \t\\h\\e jS F Y"),但它現在仍然不起作用, 2017年1月9日「。

經過了一些頭部劃痕之後,我發現如果單詞中的字母也構成date()函數的一部分,例如t =給定月份中的天數,則需要雙重轉義,否則需要單次逃生就足夠了。因此,爲什麼「at」需要編碼\a\\t和「the」作爲\\t\\h\\e