zoukankan      html  css  js  c++  java
  • 2020-04-11 python对时间日期的处理

    一、time

    对于Unix平台,初始时间是1970,01,01,00:00:00(UTC)

    0.time.gmtime(0)

    获取平台初始时间

    >>> time.gmtime(0)
    time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

    1.时间类型的格式

    struct_time类型

    它是一个具有命名元组接口的对象:可以通过索引和属性名访问值。存在以下值:

    • index---attribute---values
    • 0---tm_year---年份
    • 1---tm_mon---月份range[1,12]
    • 2---tm_mday---天数range[1,31]
    • 3---tm_hour---小时range[0,23]
    • 4---tm_min---分钟range[0,59]
    • 5---tm_sec---秒数range[0,61]
    • 6---tm_wday---星期range[0,6],0是星期日
    • 7---tm_yday---一年中的一天range[1,366]
    • 8---tm_isdst---tm_isdst可以在夏令时生效时设置为1,而在夏令时不生效时设置为0。值-1表示这是未知的。
    • N/A---tm_zone---时区名称的缩写
    • N/A---tm_gmtoff---协调世界时以东偏移,以秒为单位.

    例如,time.struct_time(tm_year=2019, tm_mon=3, tm_mday=20, tm_hour=23, tm_min=11, tm_sec=33, tm_wday=2, tm_yday=79, tm_isdst=0)

    这里借大神的图一用 https://www.cnblogs.com/pal-duan/p/10568829.html

    2.time.time()

    返回当前时间戳

    >>> import time
    >>> timestamp=time.time()
    >>> timestamp
    1586613888.3396423

    这个输出是非人类理解的时间戳,常用于计算程序运行时间

    3.time.sleep()

    用于让程序休眠一小段时间

    import time
    start_time=time.time()
    time.sleep(5)
    end_time=time.time()
    print(end_time-start_time)

    输出 :5.000166654586792(大概值)

    4.time.asctime([time])

    格式化时间类型

    >>> time.asctime()
    'Sun Apr 12 00:02:37 2020'

    参数time : struct_time类型或tuple类型的时间,不填参数的话默认为time.localtime()得到的时间。

     5.time.ctime([secs])

    将时间戳的时间转换为表示本地时间的字符串。

    >>> time.ctime()
    'Sun Apr 12 00:42:20 2020'

    参数secs : 时间戳,如果没有提供secs,则默认使用当前的时间戳,返回的当前时间。

    6.time.gmtime([sec])
    将时间戳类型的时间转换为UTC中的struct_time,其中dst标志始终为零。

    >>> timestamp
    1586613888.3396423
    >>> time.localtime(timestamp)
    time.struct_time(tm_year=2020, tm_mon=4, tm_mday=11, tm_hour=22, tm_min=4, tm_sec=48, tm_wday=5, tm_yday=102, tm_isdst=0)

    参数sec:时间戳类型的时间,如果没有提供secs或没有提供secs,则使用time()返回的当前时间。
    返回值:struct_time类型的时间

    time.localtime([sec])
    作用:就像time.gmtime(),但是转换为本地时间。当dst应用于给定的时间时,dst标志被设置为1。
    参数:时间戳类型的时间,如果没有提供secs或没有提供secs,则使用time()返回的当前时间。
    返回值:struct_time类型的时间

    time.mktime(t)
    作用:将struct_time类型的时间转换为时间戳类型。
    参数:struct_time类型的时间。
    返回值:时间戳类型。

    time.monotonic()-->float
    作用:返回一个单调时钟的值(以分数秒为单位),即一个不能倒退的时钟。时钟不受系统时钟更新的影响。返回值的引用点是未定义的,因此只有连续调用的结果之间的差异是有效的。

    time.monotonic_ns()-->int
    作用:和time.monotonic()类似,但返回值为纳秒。

    time.perf_counter()-->float
    作用:返回性能计数器的值(以小数秒为单位),即具有最高可用分辨率来测量短时间的时钟。它确实包括在睡眠期间所花费的时间,并且是全系统的。返回值的引用点是未定义的,因此只有连续调用的结果之间的差异是有效的。

    time.perf_counter_ns()-->int
    作用:和time.perf_counter()类似,但返回值为纳秒。

    time.process_time()-->float
    作用:返回当前进程的系统和用户CPU时间之和(以小数秒为单位)。它不包括睡眠时间。根据定义,它是过程范围的。返回值的引用点是未定义的,因此只有连续调用的结果之间的差异是有效的。

    time.process_time_ns()-->int
    作用:和time.process_time()类似,但返回值为纳秒。

    time.sleep(secs)
    作用:在给定的秒数内挂起调用线程的执行。
    参数:秒数,参数可以是一个浮点数,表示更精确的睡眠时间。

    time.strftime(format[,t])
    作用:将struct_time类型的时间转换为format参数指定格式的字符串。
    参数:

    • format:指定转换时间的字符串格式。
    • t:struct_time类型的时间,如果不填默认为当前时间(即time.localtime()返回的时间)

    返回值:指定格式的字符串。
    注:
    以下指令可以嵌入格式字符串中。它们显示时没有可选的字段宽度和精度规范。

    • %a-->星期的缩写
    • %A-->完整的星期的名称
    • %b-->月份的缩写
    • %B-->完整的月份名称
    • %c-->'Wed Mar 20 21:40:19 2019'格式
    • %d-->十进制数格式的日期[01,31]
    • %H-->小时(24小时制) 十进制数[00,23]
    • %I-->小时(12小时制) 十进制数[01,12]
    • %j-->一年中的一天(十进制数)[001,366]
    • %m-->月份(十进制数)[01,12]
    • %M-->分钟数(十进制数)[00,59]
    • %p-->AM或PM
    • %S-->秒数[00,59]
    • %U-->一年中的周数(星期日作为一周的第一天)十进制数[00,53],第一个星期日之前的所有日子被认为是第0周。
    • %w-->星期数(十进制数)[0,6]
    • %W-->一年中的周数(星期一作为一周的第一天)十进制数[00,53],第一个星期一之前的所有日子被认为是第0周。
    • %x-->日期表示(月/日/不带世纪的年份)例如'03/20/19'
    • %X-->时间表示(时:分:秒)例如'21:56:34'
    • %y-->不带世纪的年份(十进制数)[00,99]
    • %Y-->带世纪的年份(十进制数)
    • %z-->时区偏移指示与格式+ HHMM或-HHMM形式的UTC / GMT的正或负时差,其中H表示十进制小时数字,M表示小数分钟数字[-23:59,+ 23:59]。
    • %Z-->时区名称,例如'中国标准时间'
    • %%-->'%'字符。

    time.strptime(string[,format])
    作用:根据格式解析表示时间的字符串。
    参数:

    • string:字符串类型的时间。
    • format:提供字符串类型的时间的格式。

    返回值:struct_time类型的时间。
    注:ormat参数使用的指令与strftime()使用的指令相同;它默认为“%a %b %d %H:%M:%S %Y”,与ctime()返回的格式匹配。如果字符串不能按照格式进行解析,或者解析后有多余的数据,则会引发ValueError。当无法推断出更精确的值时,用于填充任何缺失数据的默认值是(1900、1、1、0、0、0、0、0、1、-1)。字符串和格式都必须是字符串。

    time.time()-->float
    作用:以秒为单位以浮点数返回历元之后的时间。

    time.thread_time()-->float
    作用:返回当前线程的系统和用户CPU时间之和(以小数秒为单位)。它不包括睡眠时间。它的定义是特定于线程的。返回值的引用点未定义,因此只有同一线程中连续调用的结果之间的差异是有效的。

    time.thread_time_ns()-->int
    作用:和time.thread_time()类似,但是返回值是纳秒。

    time.time_ns()-->int
    作用:和time.time()类似,但返回值是纳秒。

    二、datetime

    1.

    >>> import datetime
    >>> dt = datetime.datetime.now()
    >>> print(dt)
    2020-04-11 22:50:22.758587

    2.其他属性
    print(dt.year)
    print(dt.month)
    print(dt.day)
    print(dt.hour)
    print(dt.minute)
    print(dt.second)

    三、二者配合使用

  • 相关阅读:
    PWA渐进式增强WEB应用
    如何去掉wordpress头部<link rel='next' href='*/page/2' />
    wordpress修改邮箱提示There is a pending change of your email to
    使用WP-China-Yes让你的wordpress告别429错误
    Focus
    α_β_γ_δ_ε_ζ_η_θ_ι_κ_λ_μ_ν怎么读
    Ubuntu总结常用命令记录
    声明
    你所不知道的冰冷的经济真相(转自来自天涯大佬)
    杨振宁演讲谈这件事:我很高兴中国政府没有上当
  • 原文地址:https://www.cnblogs.com/cxl-blog/p/12683181.html
Copyright © 2011-2022 走看看