22

是否可以在 PHP 中的日期和时间之间添加文本?

<?php
echo date();
?>


这将创建 (07-06-2014 00:00)
但我想要 (07-06-2014 在 00:00 小时)。

4

5 回答 5

56

源自您提供的有点晚的示例

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';
于 2012-10-12T11:29:13.423 回答
9

是的你可以。

$date=date("m-d-Y");
$time=date("H:i:s");
$display=$date.'at'.$time;
于 2012-10-12T11:30:20.150 回答
5

\a\t 对我不起作用,但\\a\\t效果很好

date("d-m-Y \\a\\t H:i");

于 2018-07-16T21:44:07.100 回答
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"),它仍然无法正常工作,因为我现在得到了“1 月 9 日星期一” 2017”。

经过一番摸索后,我发现如果单词中的字母也构成 date() 函数的一部分,例如 t = 给定月份中的天数,则需要对它们进行双重转义,否则一次转义就足够了. 因此,为什么需要对“at”进行编码\a\\t,而将“the”编码为\\t\\h\\e.

于 2017-01-10T23:10:57.300 回答
0

首先请将给定的日期以 ISO 格式输入以便strtotime()读取,然后使用date()函数相应地格式化日期。

date('/*DATE FORMAT YOU WANTED*/', strtotime('/*ISO FORMATTED DATE*/'));
于 2012-10-12T11:31:43.577 回答