Hi, just like what I pointed on the title, whenever I export the files, it always shows UTC timezone instead of local timezone. For example, on attendance it shows Signed in at 8am and then signed out at 5pm but when i export the attendance it will become signed in at 1am and signed out at 10am in the exported csv . My timezone is GMT +7. Can anyone help me how to fix this problem? Thank you.
Odoo is the world's easiest all-in-one management software.
 It includes hundreds of business apps:
- CRM
- e-Commerce
- Comptabilité
- Inventaire
- PoS
- Project
- MRP
Cette question a été signalée
            
                1
                
                    Répondre
                
            
        
        
            
                7322
                
                    Vues
                
            
        
    1) Export_data method override 2) Using Python convert UTC time to User timezone or DB timezone
The below source Export method convert UTC time to DB time zone
def export_data(self, cr, uid, ids, fields, context=None):
        dataindex = None
        for index, fieldlabel in enumerate(fields):
            if fieldlabel == 'service_date':
                dataindex = index         
        res = super(model_name, self).export_data(cr, uid, ids, fields, context=context) 
        try:
            for index, val in enumerate(res['datas']):
                if dataindex:           
                    service_date = res['datas'][index][dataindex] 
                    sdate = service_date
                    if sdate:
                        sdate = str(sdate)
                    try:
                        cr.execute("SELECT current_setting('TIMEZONE')")
                        db_timezone = cr.fetchone()[0]
                    except:
                       db_timezone = "US/Eastern"
                       dbtz = pytz.timezone(db_timezone)
                       utctz = pytz.timezone('UTC')
                       sdate_dt = datetime.datetime.strptime(sdate, "%Y-%m-%d %H:%M:%S")
                       utctz_dt = utctz.localize(sdate_dt, is_dst=None)
                       db_dt = utctz_dt.astimezone(dbtz)                         
                       sdate = db_dt.strftime('%m/%d/%Y %H:%M:%S')
                       res['datas'][index][dataindex] = sdate
          except Exception, e:
               #print "Exception", e
                pass    
          return res
Thank's prakash
Vous appréciez la discussion ? Ne vous contentez pas de lire, rejoignez-nous !
Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !
S'inscrire| Publications associées | Réponses | Vues | Activité | |
|---|---|---|---|---|
|  | 2 avr. 23  | 3892 | ||
|  | 2 févr. 21  | 17025 | ||
|  | 1 oct. 20  | 4020 | ||
| 
            
                Error on TimeZone Field 
            
            
                    Résolu
            
         |  | 2 août 19  | 4358 | |
|  | 0 sept. 16  | 4977 | 
 
                        
Have you found any solution for this one?
I have the same problem, does anyone found a solution? Otherwise, where is the script that manage the export?
Is there any solution? I have the same Problem