← Back to team overview

openerp-community team mailing list archive

Re: time zone adjustment in MAKO files?

 

Simply replacing timezone data does not work. You have to *convert* from
one timezone to another.  But, because openerp doesn't attach timezone
to the time in the database there is an initial step required to add utc
timezone data. The general steps are:
1. Convert date/time from db into a naive datetime object
2. Attach utc timezone to get a timezone aware date/time object
3. Convert it to the timezone of your choice

In practice it looks like this:

from pytz import timezone
tzutc = timezone('UTC')
tzlocal = timezone('America/Chicago')
dt = datetime.strptime(myobject.time_field, '%Y-%m-%d %H:%M:%S')
utc_dt = tzutc.localize(dt, is_dst=False)
local_dt = utc_dt.astimezone(tzlocal)

Regards,
Mike.

On 05/10/2013 07:52 PM, Dale E. Moore wrote:
> Does anyone know how to calculate local time in a mako report? This
> 
> |from dateutil import tz
> from_zone = tz.tzutc()
> to_zone = tz.tzlocal()
> arrive = arrive.replace(tzinfo=from_zone)
> arrive_central = arrive.astimezone(to_zone)|
> 
> 
> is not working for me.
> 
> 
> 
> On Fri, May 10, 2013 at 8:30 AM, Dale E. Moore <daleemoore@xxxxxxxxx
> <mailto:daleemoore@xxxxxxxxx>> wrote:
> 
>     Thanks for the feedback Cristian Salamea!
> 
>     The user preferences are America/Chicago but what's being
>     displayed/printed is UTC.
> 
> 
>     On Fri, May 10, 2013 at 8:05 AM, Ovnicraft <ovnicraft@xxxxxxxxx
>     <mailto:ovnicraft@xxxxxxxxx>> wrote:
> 
> 
> 
> 
>         On Fri, May 10, 2013 at 7:32 AM, Dale E. Moore
>         <daleemoore@xxxxxxxxx <mailto:daleemoore@xxxxxxxxx>> wrote:
> 
>             I've used 
> 
> 
>             |from dateutil import tz
> 
> 
> 
> 
> 
>             from_zone = tz.tzutc()
> 
> 
> 
> 
> 
>             to_zone = tz.tzlocal()
> 
> 
> 
> 
> 
>             arrive = arrive.replace(tzinfo=from_zone)
> 
> 
> 
> 
> 
>             arrive_central = arrive.astimezone(to_zone)|
> 
>               
> 
>             in hr_timesheet_invoice_create.py to output the correct
>             local time but that isn't working for me in some MAKO reports.
> 
>             Do you know how to get the correct local time out of a MAKO
>             report?
> 
> 
>         Hello, AFAIK you always must compute in UTC, TZ comes from user
>         preferences.
> 
>         Regards, 
> 
> 
>             I look forward to hearing from you,
>             DaleEMoore@xxxxxxxxx
> 
> 
> 
>             _______________________________________________
>             Mailing list: https://launchpad.net/~openerp-community
>             Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
>             <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
>             Unsubscribe : https://launchpad.net/~openerp-community
>             More help   : https://help.launchpad.net/ListHelp
> 
> 
> 
> 
>         -- 
>         Cristian Salamea
>         @ovnicraft
> 
> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-community
> Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openerp-community
> More help   : https://help.launchpad.net/ListHelp
> 


Follow ups

References