2014-01-16 170 views

回答

1

你可以寫一個函數來轉換字符串格式。

from datetime import datetime, timedelta 
old_time = '2014-01-07T09:29:35Z' 

def time_converter(old_time, time_zone): 
    time_zone = float(time_zone[:3] + ('.5' if time_zone[3] == '3' else '.0')) 
    str_time = datetime.strptime(old_time, "%Y-%m-%dT%H:%M:%SZ") 
    return (str_time + timedelta(hours=time_zone)).strftime("%Y-%m-%dT%H:%M:%SZ") 

if __name__ == '__main__': 
    for time_zone in ('+0400', '+0430', '-1400'): 
     print(time_converter(old_time, time_zone)) 

輸出:

2014-01-07T13:29:35Z 
2014-01-07T13:59:35Z 
2014-01-06T19:29:35Z 
+1

謝謝,這對我有用。 – ATOzTOA

+0

不客氣:) –

0

您還可以創建時區類創建時區意識到datetime對象:

from datetime import tzinfo, timedelta, datetime 

class myTimeZone(tzinfo): 
    def utcoffset(self, dt): 
     return timedelta(hours=4) 
    def dst(self, dt): 
     return timedelta(hours=0) 

class utcTimeZone(tzinfo): 
    def utcoffset(self, dt): 
     return timedelta(hours=0) 
    def dst(self, dt): 
     return timedelta(hours=0) 

d = datetime.strptime("2014-01-07T09:29:35Z","%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=utcTimeZone()) 
print(d.astimezone(myTimeZone()).isoformat()) # Prints '2014-01-07T13:29:35+04:00' 
相關問題