Python 将时间从sqlite UTC转换为csv本地时间

Python 将时间从sqlite UTC转换为csv本地时间,python,Python,数据库是UTC, 我的python代码: import sqlite3 import csv import sys conn = sqlite3.connect('/home/talo.db') cur = conn.cursor() data = cur.execute('select time, value from talo_data where position_id=1 AND DATETIME([time]) >= DATETIME("now","-1 day");')

数据库是UTC, 我的python代码:

import sqlite3
import csv
import sys

conn = sqlite3.connect('/home/talo.db')
cur = conn.cursor()

data = cur.execute('select time, value from talo_data where position_id=1 AND DATETIME([time]) >= DATETIME("now","-1 day");')

with open('/home/log/my.csv', 'wb') as f:
  writer = csv.writer(f)
  writer.writerow(['date', 'value'])
  writer.writerows(data)
for row in data:
 print >> f, row
我的csv文件UTC必须是当地时间:

date,value
2013-08-11 06:10:00,17.9375
2013-08-11 06:20:00,17.625
2013-08-11 06:30:00,18.0625
2013-08-11 06:40:00,19.4375
2013-08-11 06:50:00,19.4375
2013-08-11 07:00:00,18.6875
2013-08-11 07:10:00,19.8125
2013-08-11 07:20:00,19.5
2013-08-11 07:30:00,19.75

如何将/do转换为csv文件时间+3小时转换为本地时间?

在短时间内使用datetime.datetime.strtime(str,fmt)

从长远来看,这将是一个三步过程:-

  • 将日期中的秒数转换为非小数点格式,以便datetime.datetime.StrTime能够理解它
  • 使用datetime.timedelta添加/减去3小时
  • 使用strftime的输出

  • 对不起,我没有理解你在评论中的意思?
    >>> (datetime.datetime.strptime('2013-08-11 06:10:00,179375', "%Y-%m-%d %I:%M:%S,%f")+datetime.timedelta(hours=3)).strftime('%Y-%m-%d %I:%M:%S,%f')