0

数据库是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 小时到我的本地时间?

4

1 回答 1

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')

长期以来,这将是一个三步过程:-

  1. 将日期中的秒数转换为非小数点格式,以便 datetime.datetime.strptime 理解
  2. 使用 datetime.timedelta 加/减 3 小时
  3. 使用 strftime 输出
于 2013-08-12T07:52:10.263 回答