我正在使用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 }
我将startime和endtime设置为时间格式只是为了获取我的项目的时间值。我没有把它设置为日期类型,因为它会影响我的前端应用程序。例如,如果我输入5:00
,则显示将为12:00 am
,因为我使用日期类型。
要在显示中将此时间从5:00:00变为下午5:00,我将其设置为时间数据类型,并使用我在showSuccess和Indexsuccess模板中使用的语法。
<?php echo date('g:i A', strtotime($reservation_application->getStartime()));
此代码将00:00:00格式化为凌晨12:00或其他东西。但它在数据库中没有变化(00:00:00)。仅在展示中。
有没有办法在yaml文件中将此00:00:00格式化为12小时格式?非常感谢
答案 0 :(得分:0)
当您节省时间时,它始终存储时没有任何文化信息。 (一旦你要创建一个多语言网站,你会很高兴的!)。
也就是说,在视图中格式化日期时最好使用DateHelper。这具有format_date
功能。当您使用此功能时,请不要忘记在default_culture
中设置settings.yml
(或在sfUser
中设置正确的文化)。
例如format_date($date, 't');
在用户文化中打印当前时间。
有关可以使用的模式的概述,请参阅this page。