数据库是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
我如何将csv文件时间转换为+3小时到当地时间?
答案 0 :(得分:0)
简而言之,请使用datetime.datetime.strptime(str,fmt)
>>> (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')
总之,这将是一个三步过程: -