zoukankan      html  css  js  c++  java
  • python--模块之time,datetime时间模块

    time:

    表示时间的三种方式:
    时间戳、格式化的时间字符串、元组
    时间戳是计算机能够识别的时间;
    时间字符串是我们能够看懂的时间;
    元组是用来操作时间;

    导入时间模块
    import time

    1,时间戳(timastamp):时间戳表示的是从1970年1月1日00:00:00开始来按秒计算的偏移量。我们运行‘type(time.time)’,返回的是float类型

    print(time.time())
    >>1537960114.8479772

    2,格式化的时间字符串(format string):'2019-09-23'

    print(time.strftime('%y-%m-%d %X'))
    >>18-09-26 19:10:32

    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-9999)
    %m 月份(01-12)
    %d 月中的一天(01-31)
    %H 24小时制小时数(01-24)
    %I 12小时制小时数(01-12)
    %M 分钟数(00-59)
    %S 秒(00-59)
    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等价符
    %w 星期(0-6),星期天为星期的开始
    %W 一年中星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地日期的时间表示
    %% %号的本身

    3,元组(struct_time):
    localtime将一个时间戳转换为当前时区的struct_time
    共有你9个元素:

    print(time.localtime())
    >>time.struct_time(tm_year=2018, tm_mon=9, tm_mday=26, tm_hour=19, tm_min=12, tm_sec=15, tm_wday=2, tm_yday=269, tm_isdst=0)

    tm_year(年) :2018
    tm_mon(月) :1-12
    tm_mday(日) :1-31
    tm_hour(时) :0-23
    tm_min(分):0-59
    tm_sec(秒) :0-60
    tm_wday(一周的第几天):0-6(0表示周一)
    tm_yday(一年中的第几天):1-366
    tm_isdst(是否夏令时):默认为0

    time 时间格式相互转换:

    时间戳---》元组时间

    time.gmtime(时间戳)
    time.localtime(时间戳)

    结构化时间---》》时间戳
    #time.mktime(结构化时间)

    结构化时间---》》字符串时间
    #time.strftime("格式定义","结构化时间") 结构化时间参数若不传,则显示当前时间

    字符串时间----》》结构化时间
    #time.strptime(时间字符串,字符串对应格式)


    结构化时间-----》》%a %b %d %H:%M:%S %Y串
    #time.asctime(结构化时间)
    #如果不传参数,直接返回当前时间的格式化串

    时间戳-----》》%a %b %d %H:%M:%S %Y串


    时间戳---》元组时间
    time.gmtime(时间戳)
    time.localtime(时间戳)


    import time

    print(time.time())
    print(time.gmtime(1537960993.1141999))

    print(time.localtime())

    >>time.struct_time(tm_year=2018, tm_mon=9, tm_mday=26, tm_hour=11, tm_min=23, tm_sec=13, tm_wday=2, tm_yday=269, tm_isdst=0)
    >>time.struct_time(tm_year=2018, tm_mon=9, tm_mday=26, tm_hour=19, tm_min=25, tm_sec=20, tm_wday=2, tm_yday=269, tm_isdst=0)

    结构化时间---》》时间戳
    #time.mktime(结构化时间)


    time_tuple = time.localtime(1500000000)
    print(time_tuple)
    print(time.mktime(time_tuple))

    >>time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
    >>1500000000.0


    结构化时间---》》字符串时间
    #time.strftime("格式定义","结构化时间") 结构化时间参数若不传,则显示当前时间

    print(time.strftime("%Y-%m-%d %X"))

    print(time.strftime("%Y-%m-%d %X",time.localtime(150000000)))

    >>2018-10-11 19:03:29
    >>1974-10-03 10:40:00


    字符串时间----》》结构化时间
    #time.strptime(时间字符串,字符串对应格式)

    print(time.strptime("2017-03-16","%Y-%m-%d"))

    >>time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)


    结构化时间-----》》%a %b %d %H:%M:%S %Y串
    #time.asctime(结构化时间)
    #如果不传参数,直接返回当前时间的格式化串

    print(time.asctime(time.localtime(1500000000)))
    print(time.asctime())

    >>Fri Jul 14 10:40:00 2017
    >>Thu Oct 11 19:13:46 2018


    时间戳-----》》%a %b %d %H:%M:%S %Y串

    #time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串

    print(time.ctime())
    print(time.ctime(1500000000))

    >>Thu Oct 11 19:17:23 2018
    >>Fri Jul 14 10:40:00 2017

    datetime:

    简介:
    datetime包是基于time包的一个高级包,datetime可以理解为date和time两个组成部分。date是指年月日构成的日期(相当于日历),time是指时分秒构成的一天24小时中的具体时间(相当于手表)。

    datetime.datetime()内有如下属性:
    hour:小时
    minute:分钟
    second:秒
    microsecond:微妙
    year:年
    month:月
    day:日
    weekday:表示周几

    import datetime

    t=datetime.datetime(2012,9,3,21,30)
    print(t)

    >>2012-09-03 21:30:00


    运算:
    datetime包还定义了时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。


    比如:今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔


    t=datetime.datetime(2012,9,3,21,30)
    t_next=datetime.datetime(2012,9,5,21,30)

    delta1=datetime.timedelta(seconds=600)
    delta2=datetime.timedelta(weeks=3)
    print(t)
    print(t+delta1)
    print(t+delta2)
    print(t_next-t)

    >>2012-09-03 21:30:00
    >>2012-09-03 21:40:00
    >>2012-09-24 21:30:00
    >>2 days, 0:00:00


    两个datetime对象还可以进行比较。
    print(t > t_next)
    >>False

  • 相关阅读:
    nginx中的超时配置
    ubuntu系统TCP连接参数优化-TIME_WAIT过多解决办法
    python中的raise用法
    pip安装各种模块
    ubuntu上安装python的ldap模块
    docker 打印带时间的日志
    基于Xilinx Zynq Z7045 SoC的CNN的视觉识别应用
    VIVADO下IBERT使用指南
    菜根谭全文及译文
    bit,Byte,Word,DWORD(DOUBLE WORD,DW)
  • 原文地址:https://www.cnblogs.com/chen-1054425078/p/9780213.html
Copyright © 2011-2022 走看看