Contributors mailing list archives
contributors@odoo-community.org
Browse archives
Re: A module to add methods to convert datetime between UTC and user's timezone
Re: A module to add methods to convert datetime between UTC and user's timezone
Re: A module to add methods to convert datetime between UTC and user's timezone
byHiThe first 2 cases are already done better in odoo.tools and also exposed to mail.template, maybe reports too, well except it also formats the string for the users language too I think. Easily importable.The 3rd case isn't worth it IMO, it seems quite specific and written in a very long way. Something like datetime.now(pytz.timezone('tz')).utcoffset() will do it in a 1 liner with maybe a bit of math and its a ton easier using python main datetime and pytz modulesI used to maintain a report date helper module but never use it anymore.On Wed, 6 Jan 2021, 7:27 pm Yoshi Tashiro, <tashiro@quartile.co> wrote:Thanks Graeme and Dominique. What I'm looking for is a collection of methods that are not covered in Date and Datetime classes of vanilla Odoo. For example:# Convert datetime object to date stringdef _convert_to_user_date_string(self, datetime, hours):user_datetime = datetime + relativedelta(hours=hours)return fields.Date.to_string(fields.Date.to_date(user_datetime))# Convert date string with timestamp to datetime objectdef _convert_to_user_datetime_string(self, date, timestamp, hours):datetime_value = fields.Datetime.from_string("{} {}".format(date, timestamp))return fields.Datetime.to_string(datetime_value - relativedelta(hours=hours))# Return the time difference (in hours), e.g. if user's timezone is in# GMT+9 this method will return 9.0def _get_tz_hours_diff(self):current_time = fields.Datetime.now()user_time = pytz.utc.localize(current_time).astimezone(tz)utc_time = timezone("UTC").localize(current_time)hours_diff = ((user_time.utcoffset() - utc_time.utcoffset()) / timedelta(minutes=1) / 60)return hours_diffI vaguely remember seeing somewhere someone extending Date and Datetime in a somewhat similar manner. If there is nothing under OCA we may create a module and make a PR.--Yoshi TashiroOn Wed, Jan 6, 2021 at 2:12 PM Dominique k <dominique.k@elico-corp.com.sg> wrote:oh... will check that. thanks a lot--On Wed, 6 Jan 2021 at 12:42 PM, Graeme Gellatly <gdgellatly@gmail.com> wrote:It is built in to odoo and sometimes uses babel under hood.For today jobs fields.Date.context_today(record with tz context, optional timestamp) is my general go to available in views as context_today.odoo.tools.format_datetime or something like that does it too for datetime plus locale specific representation as string.There is some more. Check fields.Date* and odoo.toolsIn record rules it is tons harder but if you have the patience you can handroll a very ugly rule using time module.Regards from UTC+13.On Wed, 6 Jan 2021, 5:22 pm Dominique k, <dominique.k@elico-corp.com.sg> wrote:i would be curious if there is one, or contribute for developing oneUTC --> user timezone is a real real pain to develop. particularly when trying to get "today" jobsRegards,DominiqueOn Wed, 6 Jan 2021 at 11:42, Yoshi Tashiro <tashiro@quartile.co> wrote:I think I've seen somewhere under OCA a module to add generic methods to convert datetime between UTC and user's timezone, but I somehow can't find it now. A pointer would be appreciated.--Yoshi Tashiro_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
Dominique KON-SUN-TACK [Project Manager]Odoo Gold Partner, best Odoo Partner 2014 for APACMobile: + 65 8502 2399Skype: dominique_elicoWebsite: www.elico-corp.com_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
Reference
-
A module to add methods to convert datetime between UTC and user's timezone
byQuartile Limited., Yoshi Tashiro.- 06/01/2021 04:37:19 - 0-
Re: A module to add methods to convert datetime between UTC and user's timezone
byQuartile Limited., Yoshi Tashiro.- 06/01/2021 09:16:12 - 0 -
Re: A module to add methods to convert datetime between UTC and user's timezone
byTAKOBI s.r.l., Lorenzo Battistini. -
Re: A module to add methods to convert datetime between UTC and user's timezone
byQuartile Limited., Yoshi Tashiro.- 06/01/2021 08:21:59 - 0 -
Re: A module to add methods to convert datetime between UTC and user's timezone
byMoaHub, Graeme Gellatly -
Re: A module to add methods to convert datetime between UTC and user's timezone
byQuartile Limited., Yoshi Tashiro.- 06/01/2021 07:25:00 - 0 -
Re: A module to add methods to convert datetime between UTC and user's timezone
bydominique.k -
Re: A module to add methods to convert datetime between UTC and user's timezone
byMoaHub, Graeme Gellatly -
Re: A module to add methods to convert datetime between UTC and user's timezone
bydominique.k
-