• Python 时间处理


    Python 时间处理

    一共有三个时间模式。date(), time(), datetime()。此外还有处理时间间隔的timedelta()

    获取当前

    import datetime
    datetime.date.today() # 今天的日期
    dateitme.datetime.now() # 此刻的时间
    

    注意,以上两个返回的类型是date类型datetime类型,而不是字符串。如果要返回字符串,则需要进行格式化。

    datetime.date(2019, 5, 16)
    datetime.datetime(2019, 5, 16, 12, 10, 49, 766690)

    格式化

    [sin(x)=ax^2+frac{a}{b}+1 ]

    格式化输出一般有两种,一是通过.strftime()进行格式化。而是使用ISO的格式。

    datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") 
    

    Y, m, d, H, M, S均有特定含义。这和print()中的格式化输出很像。

    datetime.datetime.now()
    

    使用的是ISO的格式。

    '2019-05-16T11:56:33.151694'

    时间戳

    时间戳是指格林威治时间1970年1月1日0时0分0秒到此刻的总秒数

    两个问题:

    • 千年虫问题。一些程序员会把1986这样的年份,记为86
    • 2038问题。32位计算机最多存储到40亿,到2038年左右,秒数将超过40亿。于是使用32位时间戳的计算机会溢出。

    两个方法:

    • timetuple() 把日期时间转换成struct_time格式。
    • 再使用time.mktime()转成时间戳
    today = datetime.date.today()
    today.timetuple()
    

    time.struct_time(tm_year=2019, tm_mon=5, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=136, tm_isdst=-1)

    以上时间的格式就是struct_time

    time.mktime(today.structtuple())
    

    1557936000.0

    这个值就是秒数

    时间段(计算)

    前几节所有介绍的都是关于时间点, 时间点之间可以相减,得到时间段。

    today = datetime.datetime.now() # 获取当前日期时间
    yesterday  = today - datetime.timedelta(days=1)
    
    # 减去一天的时间间隔
    

    同样timedelta() 还可以指定 hours等参数

  • 相关阅读:
    使用vue-cli创建项目(包含npm和cnpm的安装nodejs的安装)
    关于时区、时间戳引起的bug理解
    设置java、maven环境变量(怕麻烦以后直接来这里复制)
    回去看
    dockerfile各种命令解析
    Python+Appium环境搭建
    Python Selenium unittest+HTMLTestRunner实现 自动化测试及发送测试报告邮件
    Python Selenium 文件下载
    Python Selenium 文件上传之Autoit
    Python Selenium 文件上传之SendKeys
  • 原文地址:https://www.cnblogs.com/heenhui2016/p/10890792.html
Copyright © 2020-2023  润新知