【问题标题】:How to format time in a dynamically generated php description?如何在动态生成的 php 描述中格式化时间?
【发布时间】:2017-12-11 09:53:11
【问题描述】:

我目前正在使用:

<? JFactory::getDocument()->setDescription($event->title . " am " . $event->start, 'end' -> $event->end) ?>

这会生成以下内容:

<meta name="description" content="event title am 2017-12-12 15:30:00">

但我需要时间来保持这种格式:

12.12.2017 um 15:30 Uhr

我该如何存档? 我知道事件的日期是使用以下代码呈现的:

helper('date.from_till', array('start' => $event->start, 'end' => $event->end, 'format' => $params->date_format))

非常感谢您的帮助:)

【问题讨论】:

    标签: php datetime joomla date-format


    【解决方案1】:

    您应该更改格式,然后将其传递给setDescription。你可以简单地通过DateTime改变格式来做到这一点

    <?php
      $date = new DateTime('2017-12-12 15:30:00');
      echo $date->format('d.m.Y \u\m H:i').'Uhr';
    ?>
    

    演示:https://eval.in/916535

    输出:

    12.12.2017 um 15:30 Uhr
    

    【讨论】:

    • 您好,感谢您的回答。如何将其应用于动态生成的时间?因为目前您的答案基于静态时间“2017-12-12 15:30:00”。使用 setDescription 会怎样?对于这样一个愚蠢的问题,我感到很抱歉,但我对 PHP 非常陌生,并且处于尝试新东西的阶段:)
    • 您需要从 ie.$event-&gt;start$event-&gt;end 传递日期时间。我也是 2 个月前刚开始的​​ php 新手。还在找工作。
    【解决方案2】:

    这个问题得到了另一个问题的回答: https://stackoverflow.com/a/47752218/8207054


    $doc->setDescription($event->title . " am " . date('d.m.Y', strtotime($event->start)) . ", " . date('H:i', strtotime($event->end)) . " Uhr");
    

    【讨论】:

      【解决方案3】:

      抱歉,这应该可以,我已经测试过了:

      <?
          $date_object = new DateTime($event->start);
          JFactory::getDocument()->setDescription($event->title . " am " . ($date_object->format("d.m.Y \u\m H:i \U\h\\r")), 'end' -> $event->end);
      ?>
      

      【讨论】:

      • 我收到此错误“调用字符串上的成员函数 format()”
      猜你喜欢
      • 1970-01-01
      • 2021-07-13
      • 2014-07-07
      • 2017-02-16
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      相关资源
      最近更新 更多