2014-05-17 33 views
1

使用get_key然後獲取last_modified屬性時,會有3小時的偏差。如何使用`boto` API獲取AWS S3 key的GMT`last_modifed`?

k = b.get_key('av-bait/modules/reporters.py') 
print k.last_modified  

我得到: '週六2014 GMT 18時42分02秒5月17日',而文件是在21時42分02秒更新,如下圖顯示:

File as shown in se console

任何想法如何通過s3獲取gmt?

謝謝

+1

有一個時區差異,格林威治標準時間GMT +300 –

+1

如何檢索GMT +300通過s3 api? –

回答

1

如果要調整三個小時字符串中,你可以使用:

>>> t='Sat, 17 May 2014 18:42:02 GMT' 
>>> from datetime import datetime 
>>> str_time= datetime.strptime(t,'%a, %d %B %Y %H:%M:%S GMT') 
>>> updated_time= str_time.replace(hour=str_time.hour+3) 
>>> print updated_time 
2014-05-17 21:42:02 

有許多如何做到這一點,看看datetime文檔,

1

看看你的截圖的時區。截圖顯示文件被修改爲21:42:02 GMT+300,相當於18:42:02 GMT,所以它實際上是相同的時間戳,你只需要做一些時區魔術來轉換它。

+0

如何通過s3 api檢索GMT +300? –

+0

你不能。這應該是一個正常的'datetime.datetime'對象,所以我建議,例如按照[這篇文章](http://stackoverflow.com/questions/4770297/python-convert-utc-datetime-string-to-local-datetime )。 – Knut

1

解決方案非常簡單 - 時間戳是正確的。

注意網頁上的時間戳+03:00:00。如果你把它應用到你看到面前的時候,你會得到正是你得到的時間戳問last_modified

+0

如何通過s3 api檢索GMT +300? - –

+0

@omerbach我猜你正在談論'boto',並且提供UTC(GMT)中的'last_modified'。如果需要,您必須使用Python將其轉換爲另一個時區。 –

相關問題