python基础===时间处理模块

时间:2023-01-04 15:24:16

时间模块

Python中有很多方便我们处理时间信息的模块

  • time 模块
  • datetime 模块
  • pytz 模块
  • dateutil 模块

这里我们着重介绍的是前两种

time模块

time.time()
返回当前时间于 Unix时间 (1970.1.1 00:00:00)经过的秒数
返回值也称作时间戳,是一个浮点数类型


time.localtime(seconds)
时间戳秒数转换为表示本地时间时间元组
如果没有传入参数,则直接返回当前本地时间时间元组

时间元组:(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)

  • tm_wday:从0开始,表示星期几
  • tm_yday:第几天
  • tm_isdst:夏令时的决定旗标

time.sleep(seconds)
推迟程序的运行,参数为推迟的秒数


time.clock()
一般用来衡量程序耗时

  • win
    • 第一次调用:浮点数形式返回当前CPU运行时间
    • 第二次调用:浮点数形式返回距离上次调用该函数至此次的时间间隔
  • Linux
    • 浮点数返回当前的程序执行时间

time.asctime(tupletime)
将一个时间元组返回为一个可读形式字符串

>>> time.asctime( time.localtime() )
'Fri Feb 2 22:26:36 2018'

time.strftime( format [, tuple] )
时间元组根据指定格式返回为可读字符串


time.strptime( string, format )
可读字符串根据格式返回为时间元组


格式

  • %Y:年份
  • %m:月份
  • %d:天数
  • %H:小时
  • %M:分钟
  • %S:秒
  • %x:天/月/年
  • %X:当前 时:分:秒
  • %A:星期 (全称)
  • %a:星期 (缩写)
 >>> time.strftime('%Y %m %d',time.localtime())
'2018 02 02'
>>> time.strptime('2018 02 02','%Y %m %d')
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=33, tm_isdst=-1)

datetime模块

子模块介绍:在datetime模块分别包含了以下三个模块进行时间处理

  • datetime.datetime:处理年月日,时分秒
  • datetime.date:处理年月日
  • datetime.time:处理时分秒

datetime.datetime.now()
datetime.datetime.today()
获取当前时间,包含年月日时分秒微秒
返回类型为datetime.datetime


datetime.date.today()
返回当前时间,只包含年月日


datetime.datetime.delta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
表示时间差

>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2018, 2, 10, 17, 12, 18, 220858)
>>> de = datetime.timedelta(days=30)
>>> de + now
datetime.datetime(2018, 3, 12, 17, 12, 18, 220858)

一些时间实例中的函数:

  • res = datetime.datetime.today()
  • res = datetime.date.today()
  • res = datetime.time(10,20,10)

一些通用实例函数,在下列举


  • res.year :年
  • res.month:月
  • res.day:日
  • res.hour: 时
  • res.minute:分
  • res.second:秒

res.timestamp()
获取当前时间戳


res.timetuple()
获取当前时间元组


res.ctime()
返回一个字符串日期


res.replace(year, month, day, hour, minute, second)
将指定值替换后返回一个新的date数据


res.timetuple()
返回一个时间元组


res.weekday()
0开始返回当前时间是星期几
星期一为0星期日为6


res.isoweekday()
ISO时间标准格式从1开始返回当前时间是星期几
星期一为1星期日为7


res.isocalendar()
ISO表示格式的时间元组
(年,月,日)


res.isoformat()
返回 一个‘YYYY-MM-DD’字符串格式


构造自己的时间

datetime.datetime(2018, 2, 2, 23, 11, 2, 9999)
参数位置分别为年 月 日 时 分 秒 微秒
返回值datetime.datetime类型