2009-11-06 60 views
2

在下面的PHP日期函數中,我想在「a」和「\ N \ e \ w」之間放一些空格。它是如何完成的?將空格放入PHP日期格式

'l, F j, Y, g:i a \N\e\w \Y\o\r\k \t\i\m\e' 

由於提前,

約翰

+0

豈不是更簡單解決方案只需使用<?php echo date(...)。 ' 新 約克 時間'; ?>? – phidah 2009-11-06 23:47:34

+0

也許將字符串的非包裝部分輸出到''並將其'white-space'設置爲'nowrap'(理想情況下用CSS)會更好。讓我們分開關注;) '<?= date('l,F j,Y,g​​:i');?>紐約時間' – Kout 2017-11-01 14:05:46

回答

15

你需要插入:

& \ NB \ SP;

爲你想要的每個空間。這將防止任何字符被識別爲特殊的日期字符。

2

據我所知,在date()功能不會忽略你把格式字符串任何空白。所以在那裏放置足夠的空間。

但是,如果您不希望瀏覽器忽略多餘的空格,您可能需要在您的HTML輸出中連續使用&nbsp;空格。

與其將&nbsp;直接放入日期格式字符串中(當然需要轉義它),最好將連續空格分別轉換爲非空格空格。然後你可以有一個功能來做到這一點,並忘記將&nbsp;放在你的所有格式字符串中。如果您必須生成不是HTML的輸出,這將特別有用。

+0

我已經嘗試了這兩種。空白被忽略,並返回一些奇怪的字符。 – John 2009-11-06 23:44:59

+0

John:您是否爲日期格式字符串轉義了' '? – 2009-11-06 23:45:43

2

爲了清楚起見,你可能只是想改寫這個樣:

date('l, F j, Y, g:i a').' New York time'; 
2

我的建議是不要將字符串日期格式字符串字母,這樣你就不必逃避它:

$string = date('l, F j, Y, g:i a'). '  (or &nbsp;) New York Time'; 
6

只是有點評論:它只適用於單引號聲明,不適用於雙引號聲明。我的意思是 date('j.&\nb\sp;n.', $date)作品描述,date("j.&\nb\sp;n.", $date)輸出混亂。

1

\t日期和時間值之間的每個空間date功能的PHP ...... 如........... date("d-m-Y \t h:i:s")

+0

但請務必使用雙引號,即format格式,否則'\ t'會被轉換爲文字't'而不是空格 – 2014-02-15 13:48:52