1.背景
最近在做視頻上傳去獲取大小、時間的功能,視頻是存在金山雲的,由於金山sdk接口用例執行后返回的結果中的時間是http頭部時間,時間格式為‘Tue, 08 May 2018 06:17:00 GMT’,現在想將它轉換成‘2018-05-08 06:17:00’這種
2.方法
2.1 先看下如何將datetime類型轉換成HTTP頭所用的GMT時間格式字符串
import datetime GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT' datetime.datetime.utcnow().strftime(GMT_FORMAT) 會得到本地的GMT時間 'Thu, 15 Aug 2019 03:02:38 GMT'
2.2 再看下如何將GMT時間格式的字符串轉換成datetime類型:
TIME = '2018-05-08 06:17:00' datetime.datetime.strptime(TIME,GMT_FORMAT)
2.3 一般GMT時間與我國本地時間有個時間差,如果要轉換成本地時間,需要再加減一段時間
datetime.datetime.strptime(TIME,GMT_FORMAT)+datetime.timedelta(hours=8) #這樣就轉換成了我國的時間了,北京時間是東八區,要加上8個小時
2.4 寫一個通用的方法
def formatGMTime(timestamp): GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT' a = datetime.datetime.strptime(timestamp, GMT_FORMAT) + datetime.timedelta(hours=8) return a
其實就是使用strftime和strptime兩個函數相互轉換而已,如果對兩個函數感興趣,請參閱博客
python學習之strptime和strftime方法
若想進一步了解datetime.timedelta()類的使用方法,請參閱博客
python學習之timedelta