How can I output a odoo 8 datetime field without time on a qweb report?

11.4k views Asked by At

I want to output a odoo 8 datetime field in the localization format but without time.

I extended the t-field with the option hide_time. Is there a simpler built-in solution?

6

There are 6 answers

2
qatz On

You could try specifying a format in t-field-options, like this:

<span t-field="object.datetimefield" t-field-options='{"format": "MMMM d y"}'/>

just adjust the format as you want.

0
Meetai.com On

You can use formatLang, <t-esc="formatLang(o.your_datatime_field,date=True)"/>

but you would need to override the report, as in this sample code:

################# 

import time

from openerp.report import report_sxw
from openerp.osv import osv



class QuotationPrint(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context=None):
        super(QuotationPrint, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,
        })
        self.context = context


class quotation(osv.AbstractModel):
    _name = 'report.sale.quotation_template'
    _inherit = 'report.abstract_report'
    _template = 'sale.quotation_template'
    _wrapped_report_class = QuotationPrint

Source: https://www.odoo.com/es_ES/forum/help-1/question/how-output-a-odoo-8-datetime-field-without-time-on-a-qweb-report-67948

0
Pravitha V On

You can use the following:

<span t-esc="time.strftime('%m/%d/%Y',time.strptime(object.datetimefield,'%Y-%m-%d %H:%M:%S'))"/>

Original Date field:

01/15/2017 10:41:01

Output Date field:

01/15/2017

0
NM Naufaldo On

I don't know why the t-field-options is not working, instead I use t-options.

<span t-field="o.date_approve" t-options="{'widget': 'date'}" />

the output will be like this : 09-Jun-21

2
forvas On

I have just faced this issue and now it's possible to do it in an easy way. This way shows only the date without the time in addition to keep the respective format lang of the date according to the user who printed the report.

<p t-field="o.your_datetime_field" t-field-options='{"widget": "date"}'/>

Warning: the quotes of t-field-options must be exactly like I wrote, otherwise, that line won't work.

Hope it helps in the future to anyone who needs this.

0
Alexander Kopylov On

You can use QWeb options (t-field-options). For example:

<div class="col-xs-6 text-center report-field">
    <span t-field="ph_id.image_date" t-field-options='{"format":"d MMMM y"}'/> 
</div>