Я использую Python для отслеживания версии между локальным SQLite и удаленной веб-страницей. Полезно сравнить их по последней измененной информации и размеру файла из ответа HTTP. Я нашел что-то интересное во время разработки.
def time_match(web,sql):
print web,sql
t1 = time.strptime(web,"%a, %d %b %Y %H:%M:%S %Z")
t2 = time.strptime(sql,"%Y-%m-%d %H:%M:%S")
print t1,t2
if t1==t2:
print "same time"
else:
print "different time"
return t1==t2
В приведенном выше коде я попытался декодировать время из Интернета и SQLite во внутреннее время и сравнить их. Давайте посмотрим на экран печати следующим образом:
Wed, 13 Oct 2010 01:13:26 GMT 2010-10-13 01:13:26
(2010, 10, 13, 1, 13, 26, 2, 286, 0) (2010, 10, 13, 1, 13, 26, 2, 286, -1)
different time
Результат показывает мне, что GMT правильно декодируется, в то время как дата-время по умолчанию для Python выглядит как -1. Мой системный часовой пояс на самом деле +8, откуда берется -1? SQLite?