是否可以在PHP中添加日期和时间之间的文本?
<?php
echo date();
?>
这将创造
(07-06-2014 00:00)
但我想(2014年6月7日00:00时)。
答案 0 :(得分:36)
从您提供的示例中得出一点延迟
echo date('d-m-Y \a\t H:i:s') . ' hours';
请务必使用给定的确切语法!使用双引号"
而不是单引号'
将导致您获得\t
的标签,您需要使用\\a\\t
来获得正确的语法,如示例中所示下面:
echo date("d-m-Y \\a\\t H:i:s") . ' hours';
这是由于php引用如何工作而与日期格式无关,'
中的内容不会被"
中的内容转义,所以如果使用"
确保使用双反斜杠\\
。
如果是日期时间对象
echo $datetime->format('d-m-Y \a\t H:i:s') . ' hours';
如果您已将其作为字符串
echo str_replace(' ', ' at ', $datetime) . ' hours';
答案 1 :(得分:8)
是的,你可以。
$date=date("m-d-Y");
$time=date("H:i:s");
$display=$date.'at'.$time;
答案 2 :(得分: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
。
答案 3 :(得分:2)
\ a \ t不适用于我,相反\\a\\t
效果很好
date("d-m-Y \\a\\t H:i");
答案 4 :(得分:0)
首先请将给定日期设置为ISO格式,以便strtotime()
可以读取它,然后使用date()
函数相应地格式化日期。
date('/*DATE FORMAT YOU WANTED*/', strtotime('/*ISO FORMATTED DATE*/'));