twig自动将字符串转换为日期

时间:2012-10-31 14:48:51

标签: symfony twig

我想通过点击窗口小部件将字符串值转换为日期,例如241

{% block convert_day %}
    <td>{{ form_widget(form['crush']) }}</td>
    <td><!-- displaying my value in day --></td>
{% endblock %}

否它不起作用!

为了更清楚,我想做类似的事情,但只显示天数:http://www.convertworld.com/en/time/Days.html

2 个答案:

答案 0 :(得分:0)

{{ hourValue / 24 }}

或者,如果要将值四舍五入到小数位:

{{ hourValue / 24 | number_format(2, ".", ",") }}

文档:

http://twig.sensiolabs.org/doc/templates.html#math http://twig.sensiolabs.org/doc/filters/number_format.html

修改

或者,您可以将精度放入表单实例本身。当你创建表单时,你可能在控制器中做了类似的事情(或者如果表单有自己的类,你在类的buildForm()方法中做了类似的事情):

$form = $this->createFormBuilder($entity)
    ->add('name', 'text')
    ->getForm();

当您添加crush字段时,您可以通过添加precision选项指定应在表单上显示的小数位数:

$form = $this->createFormBuilder($entity)
    ->add('name', 'text')
    ->add('crush', 'number', array('precision' => 3) )
    ->getForm();

然后,表单将在将值插入数据库之前对其进行舍入。

文档:

http://symfony.com/doc/current/reference/forms/types/number.html#precision

答案 1 :(得分:0)

这就是我的所作所为;

<script type="text/javascript">

function execute_time_ext(clicked) {
if (document.forms && document.forms['show_convert']) {
var from = document.forms['show_convert'].unit_from.value;
var elms = document.getElementsByName('unit');
var amount = document.forms['show_convert']['value'].value;
var to;
var amount_int = ['show_convert']['value'] - 0;
for (var i=0; i<elms.length; i++) {
to = elms[i].value;
convert(show_convert['value'], from, to, false, false);
}
var cookie = 'default_decimals';
if (getCookie(cookie) != decimals) {
setCookie(cookie, decimals, null, '/');
}
} else {
if (clicked) {
alert('Converter error. Conversion not supported by browser.');
}
}
}
execute_time_ext(false);

</script>

小部件:

<div onkeyup="execute_time_ext(true)" onchange="execute_time_ext(true)"> {{ form_widget(form['value']) }} {% endblock %}

                                <div> <input id="value_4" type="hidden" value="365.25|0|4" name="unit"></div>
                        </div>