zoukankan      html  css  js  c++  java
  • Python 常用内建模块(time ,datetime)

    1,在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。

    2,在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素

    a,想时间戳和格式化好的时间互相转换的话,都要先转成时间元组,然后才能转

    b,UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时

    c,时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。返回时间戳方式的函数主要有time(),clock()等

    d,元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。下面列出这种方式元组中的几个元素

    索引(Index)属性(Attribute)值(Values)
    0 tm_year(年) 比如2011
    1 tm_mon(月) 1 - 12
    2 tm_mday(日) 1 - 31
    3 tm_hour(时) 0 - 23
    4 tm_min(分) 0 - 59
    5 tm_sec(秒) 0 - 61
    6 tm_wday(weekday) 0 - 6(0表示周日)
    7 tm_yday(一年中的第几天) 1 - 366
    8 tm_isdst(是否是夏令时) 默认为-1

    一、time 

    import time
    print(time.sleep(2))#线程推迟指定的时间运行,单位是s
    print(time.localtime()) #默认取当前时区的时间元组,如果传入了一个时间戳,那么就把这个时间戳转换成时间元组。
    print(time.gmtime())#默认取标准时区的时间元组,如果传入了一个时间戳,那么就把这个时间戳转换成时间元组。
    print(time.timezone) #和标准时间相差的时间,单位是s
    print(time.localtime(1516005840))
    print(time.gmtime(1516005840)) #标准时区。
    print(int(time.time())) #当前时间戳,取整
    print(time.time()) #当前时间戳,浮点型
    print(time.mktime(time.localtime())) #将一个时间元组(struct_time)转化为时间戳。
    print(time.asctime()) #将时间元组转换成格式化时间:'Sun Jun 20 23:21:05 1993'。如果没有参数,将会将time.localtime()作为参数传入。不可以指定格式输出,strftime()可以
    print(time.ctime()) #将时间戳转换成格式化时间:'Sun Jun 20 23:21:05 1993'。如果参数未给或者为None的时候,将会默认time.time()为参数
    cur_time = time.strftime('%Y-%m-%d %H:%M:%S') #把一个代表时间的元组转化为格式化的时间字符串。如果t未指定,将传入time.localtime()
    print(cur_time)
    cur_time= time.localtime(1516005840) #默认取当前时区的时间元组,如果传入了一个时间戳,那么就把这个时间戳转换成时间元组。
    res = time.strftime('%Y-%m-%d %H:%M:%S',cur_time)
    print(res)
    t=time.strptime('2017-11-14','%Y-%m-%d') #把一个格式化时间字符串转化为时间元组。实际上它和strftime()是逆操作。
    #time.strptime(string, format) string 与 format 格式要对应
    res = time.mktime(t) #将一个时间元组(struct_time)转化为时间戳。
    print(t)

    常用函数:
    def timestampToStr(time_strmp,format='%Y%m%d%H%M%S'):#将时间戳转换为格式化好的时间
    t_stamp = time.localtime(time_strmp) #将时间戳转换为时间元组
    time_st = time.strftime(format,t_stamp) #将时间元组转换为格式化时间
    return time_st
    def strToTimestamp(time_st,format='%Y%m%d%H%M%S'):#将格式化好的时间转换为时间戳
    t_stamp = time.strptime(time_st,format) #将格式化时间转化为时间元组
    time_str = time.mktime(t_stamp) #将时间元组转换为时间戳
    return time_str
    在Python中共有三种表达方式:1)timestamp 2)tuple或者struct_time 3)格式化字符串。
    它们之间的转化如图所示:

    二、datetime 模块

    datetime模块定义了5个类,分别是

    1.datetime.date:表示日期的类   

    2.datetime.datetime:表示日期时间的类  from datetime import datetime导入的才是datetime这个类,如果仅导入import datetime,则必须引用全名datetime.datetime

    3.datetime.time:表示时间的类  

    4.datetime.timedelta:表示时间间隔,即两个时间点的间隔

    5.datetime.tzinfo:时区的相关信息

    获取当前时期和时间

    import datetime  #如果仅导入import datetime,则必须引用全名datetime.datetime
    print(datetime.datetime.now())#当前时间格式化输出

    from _datetime import datetime
    print(datetime.now()) #获取当前时间格式化输出

    获取指定日期和时间

    dt = datetime(2018,1,19,15,13)  # 用指定日期时间创建datetime
    print(dt)

    datetime 转换为时间戳(timestamp)

    from  datetime import datetime
    dt = datetime(2018,1,19,15,13) # 用指定日期时间创建datetime
    print(dt)
    print(dt.timestamp()) #把datetime 转换为timestamp
    输出结果:
    2018-01-19 15:13:00

    1516345980.0 注意Python的timestamp是一个浮点数。如果有小数位,小数位表示毫秒数
    时间戳(timestamp)转换为datetime
    from _datetime import datetime
    dt = 1516345980.0
    print(datetime.fromtimestamp(dt)) #将时间戳转换为datetime
    输出结果:2018-01-19 15:13:00
    格式化时间转换为datetime

    cday= datetime.strptime('2018-1-19','%Y-%m-%d') #将格式话时间转换为datetime
    print(cday)
    输出结果:2018-01-19 00:00:00
    datetime 转换为格式化时间
    now = datetime.now()
    print(now.strftime('%a,%b %d %H:%M '))
    输出结果:Fri,Jan 19 15:27
    datetime 加减
    print(datetime.now())
    print(datetime.now() + timedelta(3)) # 3天后的时间
    print(datetime.now() + timedelta(-3)) # 3天前的时间
     
     
  • 相关阅读:
    Transaction 'IREG', Abend 'APCT', at '????'.
    CICS中设置是否具有可修改性
    常用命令总结
    常用语句总结
    _func_
    数组排序返回索引-python和c++的实现
    数组的并行求和-cuda实现
    Pytorch 多GPU训练-多计算节点并行-All you need
    Pytorch 多GPU训练-单运算节点-All you need
    Windows 编程中的问题
  • 原文地址:https://www.cnblogs.com/chendai21/p/8316191.html
Copyright © 2011-2022 走看看