【问题标题】:How to format time in yaml in symfony如何在 symfony 的 yaml 中格式化时间
【发布时间】:2011-08-24 06:33:38
【问题描述】:

我正在使用 symfony 1.4 原则。我的数据库/浏览器中有一个如下所示的输出:

开始时间:12:00:00 结束时间:05:00:00

现在我想像这样更改这种格式:

开始时间:下午 12:00 结束时间:下午 5:00

我尝试在后端应用程序中将其转换为 yaml,如下所示:

apps/backend/modules/reservation/config/generator.yaml

//some yaml code
fields:
  startime: { date_format: h:i A }
  endtime:  { date_format: h:i A }

我使用这种格式但它不起作用,可能是我在 schema.yml 中将它们的数据类型设置为“时间”格式:

reservation/config/doctrine/schema.yml

//some yaml code
   columns:
     startime: { type: time, notnull: true }
     endtime:  { type: time, notnull: true }

我将 starttime 和 endtime 设置为时间格式只是为了获取我的项目的时间值。我没有将它设置为日期类型,因为它会影响我的前端应用程序。例如如果我输入5:00 显示将是12:00 am,这是因为我使用日期类型。

为了显示这个 5:00:00 到 5:00 pm/am,我将它设置为时间数据类型,并使用我在 showSuccess 和 Indexsuccess 模板中使用的这种语法。

<?php echo date('g:i A', strtotime($reservation_application->getStartime()));

此代码会将 00:00:00 格式化为 12:00 am 或其他内容。但它在数据库中没有改变(00:00:00)。仅显示。

有没有办法在 yaml 文件中将此 00:00:00 格式化为 12 小时格式?非常感谢

【问题讨论】:

    标签: symfony-1.4 yaml php


    【解决方案1】:

    当您节省时间时,它总是在没有任何文化信息的情况下存储。 (一旦您要创建一个多语言网站,您就会为此感到高兴!)。

    也就是说,在视图中格式化日期时最好使用DateHelper。这有一个format_date 函数。使用此功能时,不要忘记在settings.yml 中设置default_culture(或在sfUser 中设置正确的文化)。

    例如format_date($date, 't'); 以用户文化打印当前时间。

    有关您可以使用的模式的概述,请参阅this page

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      • 2020-02-13
      • 2014-07-07
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      相关资源
      最近更新 更多