跳至内容
菜单
此问题已终结
3 回复
40408 查看

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

形象
丢弃
最佳答案

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.

形象
丢弃
编写者

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'}"/>

编写者

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

thank you very much it work well

最佳答案


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")


形象
丢弃