python time, datetime, string, timestamp相互轉換__python

來源:互聯網
上載者:User
########################## # Python Time Conversion # ##########################
------------------------ --  一. 時間的表示類型 -- ------------------------
py中可能涉及的time有四種類型     1. time string     2. datetime tuple(datetime obj)     3. time tuple(time obj)     4. timestamp
1. time string string是最簡單的表示time的方式 如如下代碼產生的即為string     ----------------------------------------------     >>> time.ctime()     'Mon Dec 17 21:02:55 2012'     ---------------------------------------------- 或者更簡單的產生一個字串     ----------------------------------------------     time_string = '2000-01-02 03:04:05'     ----------------------------------------------
2. datetime tuple(datetime obj) datetime tuple是datetime.datetime物件類型     ----------------------------------------------     >>> datetime.now()     datetime.datetime(2012, 12, 17, 21, 3, 44, 139715)     ----------------------------------------------
3. time tuple(time obj) time tuple是time.struct_time物件類型     ----------------------------------------------     time.struct_time(tm_year=2008, tm_mon=11, tm_mday=10, tm_hour=17, tm_min=53, tm_sec=59, tm_wday=0, tm_yday=315, tm_isdst=-1)     ----------------------------------------------
4. timestamp 時間戳記類型:自1970年1月1日(00:00:00 GMT)以來的秒數     ----------------------------------------------     >>> time.time()     1355749338.05917     ----------------------------------------------
------------------------ --  二. 類型之間的轉換 -- ------------------------

1. string 轉換為其它 初始化:     date_str = "2008-11-10 17:53:59" 1.1 string --> datetime obj 匯入:     import datetime     datetime.datetime.strptime(string, format) eg     ----------------------------------------------     >>> dt_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")     >>> dt_obj     datetime.datetime(2008, 11, 10, 17, 53, 59)     ----------------------------------------------
1.2 string --> time obj 匯入:     import time     time.strptime(string, format) eg     ----------------------------------------------     #time模組有類似datetime中的strptime()函數     >>> date_str = "2008-11-10 17:53:59"     >>> t_obj = time.strptime(date_str, "%Y-%m-%d %H:%M:%S")     >>> t_obj     time.struct_time(tm_year=2008, tm_mon=11, tm_mday=10, tm_hour=17, tm_min=53, tm_sec=59, tm_wday=0, tm_yday=315, tm_isdst=-1)     ----------------------------------------------
2. datetime obj轉換為其它 datetime obj轉換為其它類型,用的都是datetime的函數 初始化:     dt_obj = datetime.datetime(2008, 11, 10, 17, 53, 59) 2.1 dt obj --> string     ----------------------------------------------     date_str = dt_obj.strftime("%Y-%m-%d %H:%M:%S")     ---------------------------------------------- 2.2 dt obj --> time obj     ----------------------------------------------     time_tuple = dt_obj.timetuple()     ----------------------------------------------
3. time obj轉換為其它 初始化:     time_tuple = (2008, 11, 12, 13, 51, 18, 2, 317, 0) 3.1 time obj --> string     ----------------------------------------------     date_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)     ---------------------------------------------- 3.2 time obj --> datetime obj     ----------------------------------------------     datetime.datetime(*time_tuple[0:6])     ---------------------------------------------- 3.3 time obj --> timestamp     ----------------------------------------------     ts = time.mktime(time_tuple)     ----------------------------------------------
4. timestamp轉換為其它 初始化:     timestamp = 1226527167.595983 --!!--注意以下兩種都使用local時區 4.1 timestamp --> dt obj     ----------------------------------------------     dt_obj = datetime.fromtimestamp(timestamp)     ---------------------------------------------- 4.2 timestamp --> time obj     ----------------------------------------------     time_tuple = time.localtime(timestamp)     ---------------------------------------------- --!!--以下兩種方式和時區相關,比較標準時區時間和本地時區時間 4.3 使用UTC --> dt obj     ----------------------------------------------     #本地時區時間     >>> datetime.datetime.fromtimestamp(tm)     datetime.datetime(2012, 12, 17, 23, 39, 58, 401881)     #標準時區時間     >>> datetime.datetime.utcfromtimestamp(tm)     datetime.datetime(2012, 12, 17, 15, 39, 58, 401881)     ---------------------------------------------- 4.4 使用UTC --> time obj     ----------------------------------------------     #本地時區時間     >>> time.localtime(tm)     time.struct_time(tm_year=2012, tm_mon=12, tm_mday=17, tm_hour=23, tm_min=39, tm_sec=58, tm_wday=0, tm_yday=352, tm_isdst=0)     #標準時區時間     >>> time.gmtime(tm)     time.struct_time(tm_year=2012, tm_mon=12, tm_mday=17, tm_hour=15, tm_min=39, tm_sec=58, tm_wday=0, tm_yday=352, tm_isdst=0)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.