In odoo, field "createDate" has timezone by user, but when I print, it UTC.
I want to print timezone by browser user.
Please help me
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
In odoo, field "createDate" has timezone by user, but when I print, it UTC.
I want to print timezone by browser user.
Please help me
Hi BB,
Based on my idea you can use,
fields.Datetime.context_timestamp()
But based on that
import pytz
user_tz = self.env.user.tz or 'UTC' # Get user's timezone or use UTC as default
tz = pytz.timezone(user_tz)
today_with_tz = fields.Date.to_string(
fields.Datetime.context_timestamp(self, fields.Datetime.from_string(today)).astimezone(tz))
i already use my work
Thanks
Hi,
Try fields.Datetime.context_timestamp(record, timestamp) method. It returns the given timestamp converted to the client’s timezone.
Hope it helps
Hi
Try the following code
import pytz
user = self.env['res.users'].browse(self.env.uid)
tz = pytz.timezone(user.tz if user.tz else 'UTC')
local_date = pytz.utc.localize(create_date).astimezone(tz)
where create_date = self.create_date
output is like this 2023-12-31 14:23:19+03:00
if you need to remove the offset
date_time_without_offset = local_date.replace(tzinfo=None)
Regards
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
Dec 23
|
1146 | ||
|
1
Feb 22
|
4150 | ||
|
0
Mar 15
|
5462 | ||
|
2
Mar 25
|
1346 | ||
|
2
Apr 23
|
2620 |