【问题标题】:Add text between date and time - PHP在日期和时间之间添加文本 - PHP
【发布时间】:2012-10-12 11:26:23
【问题描述】:

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

<?php
echo date();
?>


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

【问题讨论】:

  • 你到底想完成什么?

标签: php datetime


【解决方案1】:

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

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 会输出一个制表符。因此,这需要额外的转义!
  • 如果我使用 strftime 我该怎么做??
  • @rybo111 那是因为您使用" 而不是' 进行引用,在示例中添加了说明。
【解决方案2】:

是的,你可以。

$date=date("m-d-Y");
$time=date("H:i:s");
$display=$date.'at'.$time;

【讨论】:

  • 也许把它改成$display=$date.' at '.$time; 注意at 周围的空格。
【解决方案3】:

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

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

【讨论】:

【解决方案4】:

奇怪的是我想放

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

【讨论】:

    【解决方案5】:

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

    date('/*DATE FORMAT YOU WANTED*/', strtotime('/*ISO FORMATTED DATE*/'));
    

    【讨论】:

      猜你喜欢
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      相关资源
      最近更新 更多