2009-11-06 97 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