Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
1337 Представления

i have fields.datetime when i input manual and press enter then time auto +7h but i select time on picker datetime then not +7h. Please help me fix it.

Thanks

Аватар
Отменить
Лучший ответ

Hi,

It depends on the user's preferred TimeZone. Ensure that the user's timezone is correctly set by going to Settings > Users & Companies > Users, selecting the user, and checking the "Timezone" field under the Preferences page.


You have to use ORM methods to convert the datetime data to a different timezone (TZ).


import pytz

from datetime import datetime

from odoo import fields


# Ensure you have the user's timezone set

user_tz = self.env.user.tz or 'UTC'

local_tz = pytz.timezone(user_tz)


# Convert datetime from string to UTC timezone

utc_dt = pytz.utc.localize(datetime.strptime(your_date_or_datetime_info, fields.Datetime.DEFAULT_SERVER_DATETIME_FORMAT))


# Convert UTC datetime to user's local timezone

date_field = utc_dt.astimezone(local_tz).strftime("%d/%m/%Y %H:%M:%S")


Hope it helps

Аватар
Отменить