程序員的日常:時間戳和時區的故事
什么是時間戳(timestamp)?它和時區(timezone)又有什么關系?初學者可能一開始很難搞懂時間戳這個概念,就像這期《程序員的日常》漫畫中的主人公一樣。
漫畫注釋
從漫畫中舉的例子來看,這里的時間戳,指的就是Unix時間戳(Unix timestamp)。它也被稱為Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。因此,嚴格來說,不管你處在地球上的哪個地方,任意時間點的時間戳都是相同的。這點有利于線上和客戶端分布式應用統一追蹤時間信息。
Unix時間戳不僅被使用在Unix系統、類Unix系統中,也在許多其他操作系統中被廣泛采用。但是,這并不意味著目前的時間戳規范會一直持續使用下去。 因為到2038年1月19日時,Unix時間戳就會因為32位內存溢出(32-bit overflow)而無法繼續使用。因此,在這一天之前,上千萬的網絡應用要么采用新的時間戳規范,要么遷移到64位系統,后者可以給時間戳爭取“一點”時間。
Python中獲取時間戳并進行轉換
Python中日期信息的處理也是一大難點。這里列舉幾個相關的用法。
獲取當前的時間戳
from time import time time()1453021629.990758</pre>
將時間戳轉換成datetime對象
from datetime import datetimeprint datetime.fromtimestamp(1346236702)
2012-08-29 11:38:22</pre>
將datetime對象轉換成可讀字符串
from datetime import date timemy_date_object = datetime.utcnow()
my_date_string = my_date_object.strftime('%Y-%m-%d')</pre>
END
歡迎大家掃描下方二維碼關注我的公眾號“編程派”,謝謝支持!
![]()
來自: http://www.codingpy.com/article/programmer-daily-story-about-timestamp-and-timezone/
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!