代碼:
-
# -*- coding: utf-8 -*-
-
import time
-
import datetime
-
-
def time2age(atime):
-
"""
-
input:atime 一個時間戳(毫秒)
-
return:age 年齡(跟當前時間相比)
-
"""
-
# 1.將時間轉化為一個datetime對象
-
atime_date_obj = datetime.datetime.fromtimestamp(atime/1000)
-
# 2.將datetime對象轉化為一個元祖,便於后續比較
-
atime_tuple = (atime_date_obj.year,atime_date_obj.month,atime_date_obj.day)
-
# 3.當前日期
-
now_date_obj = datetime.datetime.now()
-
now_tuple = (now_date_obj.year,now_date_obj.month,now_date_obj.day)
-
# 4.計算差值
-
age = now_tuple[0] - atime_tuple[0] + (now_tuple[1:] > atime_tuple[1:]) - 1
-
-
return age
-
-
-
if __name__ == "__main__":
-
t = time.time() - 1000000000
-
print(time2age(t * 1000))
思路:
- 用datetime.datetime.fromtimestamp( )方法將時間戳轉化為datetime對象,再轉化為一個(year,month,day)的元祖與當前時間進行比較;
- 時間元祖進行比較的時候,利用到了 1 + True = 2, 1 + False = 1的小技巧