zoukankan      html  css  js  c++  java
  • 根据时间戳(毫秒)计算年龄

    代码:

    1. # -*- coding: utf-8 -*-  
    2. import time  
    3. import datetime  
    4.     
    5. def time2age(atime):  
    6.     """ 
    7.     input:atime 一个时间戳(毫秒) 
    8.     return:age 年龄(跟当前时间相比) 
    9.     """  
    10.     # 1.将时间转化为一个datetime对象  
    11.     atime_date_obj = datetime.datetime.fromtimestamp(atime/1000)  
    12.     # 2.datetime对象转化为一个元祖,便于后续比较  
    13.     atime_tuple = (atime_date_obj.year,atime_date_obj.month,atime_date_obj.day)  
    14.     # 3.当前日期  
    15.     now_date_obj = datetime.datetime.now()  
    16.     now_tuple = (now_date_obj.year,now_date_obj.month,now_date_obj.day)  
    17.     # 4.计算差值  
    18.     age = now_tuple[0] - atime_tuple[0] + (now_tuple[1:] > atime_tuple[1:]) - 1  
    19.     
    20.     return age  
    21.     
    22.     
    23. if __name__ == "__main__":  
    24.     t = time.time() - 1000000000  
    25.     print(time2age(t * 1000))  

    思路:

    1. 用datetime.datetime.fromtimestamp( )方法将时间戳转化为datetime对象,再转化为一个(year,month,day)的元祖与当前时间进行比较;
    2. 时间元祖进行比较的时候,利用到了 1 + True = 2, 1 + False = 1的小技巧
  • 相关阅读:
    tips
    数学建模-预测模型优缺(搬运)
    数学建模-灰色预测模型GM(1,1)_MATLAB
    Floyd算法_MATLAB
    第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)
    面向对象
    for循环
    if---else
    airflow的web任务管理
    airflow原理
  • 原文地址:https://www.cnblogs.com/daigua/p/9575143.html
Copyright © 2011-2022 走看看