Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
40433 Vistas

i have been customized an odoo report to print employee attendances,
the time of check in and out is correct in UI , but when i print the report it increase 2 hours for every record

Avatar
Descartar
Mejor respuesta

Hi Mohamed:

Odoo  displays the timezone information based on a user's preferences. However, if all your users are located in the same timezone you can try this:

  • Activate developer mode

  • Go to Settings > Users & Companies

  • Set the filter to "Inactive Users"

  • One of the inactive users will be something called "odoobot". Update the "Timezone" in the "Preferences" tab of this user to your local timezone.

Hope this helps.

Avatar
Descartar
Autor

it's not working for me

Try adding the following to your field in your customized report.

t-options="{'widget': 'datetime'}"

For example, <span t-field="o.date_invoice" t-options="{'widget': 'datetime'}"/>

Autor

thank you very much , it work well now after adding widgets

thank you very much it work well

Mejor respuesta


Hi,
   Just try this
from datetime import datetime

import pytz

user_tz = self.env.user.tz or pytz.utc

local = pytz.timezone(user_tz)

display_date_result = datetime.strftime(pytz.utc.localize(datetime.strptime(your_date_or_datetime_info, DEFAULT_SERVER_DATETIME_FORMAT)).astimezone(local),"%d/%m/%Y %H:%M%S")


Avatar
Descartar