6

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?

forvas
  • 9,801
  • 7
  • 62
  • 158
user2460152
  • 105
  • 1
  • 3
  • 5

6 Answers6

5

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.

Don't Panic
  • 41,125
  • 10
  • 61
  • 80
qatz
  • 163
  • 2
  • 12
  • 2
    This doesn't seem to preserve localization choices. – Nathan Tuggy Dec 15 '14 at 02:48
  • Ups, I didn't noticed about it. Maybe this could help : https://www.odoo.com/es_ES/forum/help-1/question/how-output-a-odoo-8-datetime-field-without-time-on-a-qweb-report-67948 – qatz Dec 16 '14 at 04:36
4

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.

forvas
  • 9,801
  • 7
  • 62
  • 158
0

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

Meetai.com
  • 6,622
  • 3
  • 31
  • 38
0

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>
0

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

Pravitha V
  • 3,308
  • 4
  • 33
  • 51
0

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

NM Naufaldo
  • 1,032
  • 1
  • 12
  • 30