我是新來的python,我正在嘗試做一些看起來微不足道的事情:我想添加一個if-not-modified頭部給一個傳遞時間的http請求,現在加上60秒。現在() - 60秒,我遇到了一堆困難。addheaders如果修改 - 因爲現在加上60秒
我已經看了這個How do I convert local time to UTC in Python?,這How can I convert a datetime object to milliseconds since epoch (unix time) in Python?等諸多問題,但必須有比這種方法更簡單的方法:
time.strftime("%Y-%m-%d %H:%M:%S",
time.gmtime(time.mktime(time.strptime("2008-09-17 14:04:00",
"%Y-%m-%d %H:%M:%S"))))
,以獲得正確的時間,並把它作爲一個arg給插頭。
這裏是我到目前爲止的代碼:
interval = 60 #changes other places
timestamp = datetime.datetime.now() - datetime.timedelta(seconds=interval)
opener.addheaders("if-modified-since", time.strftime('%a, %d %b %Y %H:%M:%S GMT', time.gmtime(time.mktime(time.strptime(timestamp, "%Y-%m-%d %H:%M:%S")))))
會拋出一個TypeError: expected string or buffer
,但所有的一切,似乎想徹底瘋狂要經過這麼多的改寫(munging)左右,現在得到這樣簡單的事情爲()+60秒在UTC字符串中。有人可以使用更多的python ninja-foo,請幫我看看我的方式錯誤嗎?
'如果 - 修改 - since'與現在+ 60似乎有些奇怪(會從現在開始,只有一分鐘才能修改文件)。你確定你不是現在的意思-60(在最後一分鐘修改) - 或'interval = -60'? – mata
@mata - 是的。寫了帖子 – Brad