• 【9】python模块:time


    timetime模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar等。

    时间有三种表示方式,一种是时间戳、一种是格式化时间、一种是时间元组。时间戳和格式化时间的相互转化,都需要先转化为时间元祖。

    时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。

    import time #导入time模块
    
    time.sleep(30) #等待30秒
    time.strftime('%Y-%m-%d %H:%M:%S') #当前的格式化时间
    time.time()#返回当前的时间戳

    1、两种时间格式的转化

    (1)格式化好的时间---->时间元组---->时间戳

    time_tuple = time.strptime('2038-08-29 19:23:59','%Y-%m-%d %H:%M:%S')#格式化好的时间-->时间元组,前面写要转化的时间,后面该时间的的格式
    time.mktime(time_tuple)#时间元组-->时间戳

    (2)时间戳---->时间元组---->格式化好的时间

    # 时间戳-->时间元组,有三种写法
    res=time.gmtime(318915696)#时间戳---->时间元组,自己定义的时间
    res=time.gmtime(time.time())#时间戳---->时间元组,接收时间戳,并返回格林威治天文时间下的时间元组。
    res=time.localtime(time.time())#时间戳---->时间元组,当前时间,当前时区
    
    # 时间元组---->格式化时间
    time.strftime('%Y-%m-%d %H:%M:%S',res)

    2、封装函数

    #封装函数:格式化时间-->时间戳
    def str_to_timestamp(time_str=None,format='%Y%m%d%H%M%S'): #给默认值,如果传来的有值就不用默认值
        #格式化好的时间转时间戳的
        #不传参数的话返回当前的时间戳
        if time_str:#如果有值
            time_tuple = time.strptime(time_str, format)
            timestamp = time.mktime(time_tuple)
        else:#如果传进来的没有值
            timestamp = time.time()#那就返回当前时间戳
        return int(timestamp)#转化成int格式去掉小数点
    
    print(str_to_timestamp())#会返回当前的时间戳
    print(str_to_timestamp('20391123175123'))#不传格式
    print(str_to_timestamp('2013-08-09','%Y-%m-%d'))#传格式
    #封装函数:时间戳-->格式化时间
    def timestamp_to_strtime(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
        #这个函数是用来把时间戳转成格式化好的时间
        #如果不传时间戳的话,那么就返回当前的时间
        if timestamp:#如果传了时间戳,那么转成格式化好的时间
            time_tuple = time.localtime(timestamp)
            str_time = time.strftime(format,time_tuple)
        else:#如果没有传,就返回当前格式化好的时间
            str_time = time.strftime(format)
        return str_time

    3、练习:怎么取3天前的当前时间

    提示: 用当前的时间戳-3天的秒数,时间戳转成格式化好的时间

    five = str_to_timestamp() - (3*24*60*60)#当前时间戳-3天的秒数
    res = timestamp_to_strtime(five)
    print('50年后的时间是',res)
  • 相关阅读:
    Handler使用总结(转)
    LR连接oracle数据库-lr_db_connect
    selenium2(WebDriver)环境搭建
    使用selenium控制滚动条(非整屏body)
    selenium-打开IE浏览器遇到问题记录
    使用re-sign.jar对apk进行重签名
    Robotium-无源码测试
    genymotion不能联网
    SQL 常用脚本
    todolist
  • 原文地址:https://www.cnblogs.com/haifeima/p/9724195.html
Copyright © 2020-2023  润新知