一梦三千年

导航

python的时间使用和时间计算

python存在两个时间类time/dateTime

区别:

  time:在python文档中,time是归类在常规操作系统服务中,它提供的功能更加接近于操作系统层面。其所能表述的日期范围被限定在1970-2038之间,如果需要表述范围之外的日期,可能需要考虑使用datetime模块更好。

  datetime:比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多实用的函

用法:

  简介时间元组(struct_time):

    tm_year:年1-12

    tm_mon:月1-12

    tm_mday:日1-31

    tm_hour:时0-23

    tm_min:分0-59

    tm_sec:秒0-59

    tm_wday:星期0-6(0表示周日)

    tm_day:一年中的第几天1-366

    tm_isdst:是否是夏令,默认为-1

  time:

    time.sleep(sec):推迟指定时间sec后继续运行

    time.localtime([sec]):将一个时间戳转化成一个当时时区的struct_time,如果sec参数未输入,则以当前时间为转化标准

    time.strftime(format[,t]):将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出

    time.time():返回当前时间的时间戳(以秒表示的浮点数)

    time.mktime(t):将一个struct_time转换为时间戳

    time.gmtime([sec]):将一个时间戳转化为UTC时区(0时区)的struct_time

    time.clock():不同系统含义不同。UNIX——返回进程时间,WINS第一次调用返回进程运行的实际时间,第二次调用是自第一次调用以后到现在的运行时间

    time.asctime([t])把一个时间的元组或者struct_time表示为“Sun Jun 20 23:21:05 1993”,如果无参数,则会把time.localtime()作为参数传入

    time.ctime([sec]):把一个时间戳转化为time.asctime()的形式,如果无参数或者为None时,则会把time.time()作为参数传入。它的作用相当于time.asctime(time.localtime(sec))

    time.strftime(format[,t]):把一个代表时间的元组或者struct_time转化为格式化的时间字符串。如果t为指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出

  datetime:

    提供类方法如下:

      timedelta:主要用于计算时间跨度

      tzinfo:时区相关 

      time:只关注时间

      date:只关注日期

      datetime:同时有时间和日期

    实际使用中用的比较多的是:datetime.datetime 和 datetime.timedelta

      datetime.year

      datetime.month

      datetime.day

      datetime.hour

      datetime.minute

      datetime.second

      datetime.microsecond

      datetime.tzinfo():时区

      datetime.date():返回date对象

      datetime.time():返回time对象

      datetime.replace(name=value)

      datetime.timetuple():返回time.struct_time 对象

      datetime.strftime(format):按照format进行格式化输出

 计算时间精确到时分秒:

from datetime import datetime
oldtime= datetime(2020,10,26, 11,00,38)
newtime= datetime(2020,10,26, 18,00,38)
print ((newtime-oldtime).seconds) #
print (round((newtime-oldtime).seconds/60)) #
print (round((newtime-oldtime).seconds/3600)) #
print ((newtime-oldtime).days) #

 

posted on 2020-10-26 18:21  一梦三千年  阅读(1123)  评论(0编辑  收藏  举报