【发布时间】:2012-10-12 11:26:23
【问题描述】:
是否可以在 PHP 中的日期和时间之间添加文本?
<?php
echo date();
?>
这将创建
(07-06-2014 00:00)
但我想要(07-06-2014 00:00 时)。
【问题讨论】:
-
你到底想完成什么?
是否可以在 PHP 中的日期和时间之间添加文本?
<?php
echo date();
?>
这将创建
(07-06-2014 00:00)
但我想要(07-06-2014 00:00 时)。
【问题讨论】:
源自您提供的有点晚的示例
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 引用的工作原理,与日期格式无关,' 中的内容不会被转义,而 " 中的内容会被转义,所以如果您使用 ",请务必使用 double反斜杠\\。
如果是日期时间对象
echo $datetime->format('d-m-Y \a\t H:i:s') . ' hours';
如果你已经把它作为一个字符串
echo str_replace(' ', ' at ', $datetime) . ' hours';
【讨论】:
\a\t 为我返回 a。不过,再放一个\a\\t 可以。
t 是一个date 字符串元素(给定月份的天数),但将其转义为\t 会输出一个制表符。因此,这需要额外的转义!
" 而不是' 进行引用,在示例中添加了说明。
是的,你可以。
$date=date("m-d-Y");
$time=date("H:i:s");
$display=$date.'at'.$time;
【讨论】:
$display=$date.' at '.$time; 注意at 周围的空格。
\a\t 对我不起作用,而 \\a\\t 效果很好
date("d-m-Y \\a\\t H:i");
【讨论】:
\t 变成了一个制表符,date 不理解。
奇怪的是我想放
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。
【讨论】:
首先请将给定的日期以 ISO 格式输入,以便strtotime() 可以读取,然后使用date() 函数相应地格式化日期。
date('/*DATE FORMAT YOU WANTED*/', strtotime('/*ISO FORMATTED DATE*/'));
【讨论】: