![](/img/trans.png)
[英]Convert datetime to Unix timestamp and convert it back in python
[英]Convert datetime to unix timestamp in python
當我嘗試從UTC時間戳轉換為正常日期並添加正確的時區時,我找不到將時間轉換回Unix時間戳的方法。
我在做什么?
utc_dt = datetime.utcfromtimestamp(self.__modified_time)
from_zone = tz.tzutc()
to_zone = tz.tzlocal()
utc = utc_dt.replace(tzinfo=from_zone)
central = utc.astimezone(to_zone)
中央等於
2015-10-07 12:45:04 + 02:00
這是我在運行代碼時所擁有的,我需要將時間轉換回時間戳。
from datetime import datetime
from datetime import timedelta
from calendar import timegm
utc_dt = datetime.utcfromtimestamp(self.__modified_time)
from_zone = tz.tzutc()
to_zone = tz.tzlocal()
utc = utc_dt.replace(tzinfo=from_zone)
central = utc.astimezone(to_zone)
unix_time_central = timegm(central.timetuple())
為了獲得一個表示您的本地時區中與給定Unix時間( self.__modified_time
)相對應的時間的已知日期時間,您可以將本地時區直接傳遞給fromtimestamp()
:
from datetime import datetime
import tzlocal # $ pip install tzlocal
local_timezone = tzlocal.get_localzone() # pytz tzinfo
central = datetime.fromtimestamp(self.__modified_time, local_timezone)
# -> 2015-10-07 12:45:04+02:00
要使Unix時間回到Python 3:
unix_time = central.timestamp()
# -> 1444214704.0
unix_time
等於self.__modified_time
(忽略浮點錯誤和“正確的”時區)。 要獲取Python 2的代碼和更多詳細信息,請參見此答案 。
Arrow ( http://crsmithdev.com/arrow/ )似乎是終極的Python時間相關庫
import arrow
ts = arrow.get(1455538441)
# ts -> <Arrow [2016-02-15T12:14:01+00:00]>
ts.timestamp
# 1455538441
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.