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:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
1
回复
6738
查看
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
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
2
4月 23
|
3257 | ||
|
2
2月 21
|
16417 | ||
|
1
10月 20
|
3478 | ||
|
2
8月 19
|
3808 | ||
|
0
9月 16
|
4402 |
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