python time模块

import time
time.sleep([n])
time.time() #获取当前时间戳

时间的表示方式

在python中,表示时间通常有3种方式

时间戳(timetamp)

  • 表示的是1970.01.01 00:00:00开始按秒计算的偏移量
>>>import time

>>>time.time()
1564102370.424818

格式化的时间字符串

  • 2019-7-26 08:46:30
    python中时间日期格式化符号:
    符号含义
    %y两位数的年份表示(00-99)
    %Y四位数的年份表示(000-9999)
    %m月份(01-12)
    %d月内中的一天(0-31)
    %H24小时制小时数(0-23)
    %I12小时制小时数(01-12)
    %M分钟数(00=59)
    %S秒(00-59)
    %a本地简化星期名称
    %A本地完整星期名称
    %b本地简化的月份名称
    %B本地完整的月份名称
    %c本地相应的日期表示和时间表示
    %j年内的一天(001-366)
    %p本地A.M.或P.M.的等价符
    %U一年中的星期数(00-53)星期天为星期的开始
    %w星期(0-6),星期天为星期的开始
    %W一年中的星期数(00-53)星期一为星期的开始
    %x本地相应的日期表示
    %X本地相应的时间表示
    %Z当前时区的名称
    %%%号本身
>>>import time

>>>time.strftime("%Y-%m-%d %X")
'2019-07-26 08:56:02'

结构化的时间(struct_time)

  • 元组,9个元素,(年月日时分秒,一年的第几周,一年的第几天,夏令时)
>>>import timt

>>>time.localtime()
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=8, tm_min=58, tm_sec=15, tm_wday=4, tm_yday=207, tm_isdst=0)

>>>time.local()[2]
  26

time模块的常用方法

方法描述
time.localtime([sec])讲一个时间戳转化为一个当前时区的struct_time(若未提供参数,当前时间)
time.gmtime([sec])和localtime()类似,不同的是其是讲一个时间戳转换为UTC时区(0时区)的struct_time
time.time()返回当前时间戳
time.mktime(t)将time.struct_time转化为时间戳
time.sleep(sec)线程推迟指定的时间运行,单位(s)
time.asctime([t])把表时间的元组或struct_time表示为:“Sun July 26 09:06:35 2019”;如果未传参数,默认为time.localtime()
time.ctime([t])把一个时间戳转化为time.asctime()的形式。如果未传参数,默认time。time()
time.strftime(format[,t])把一个代表时间的元组/struct_time(localtime()和gmtime()转化为格式化的字符串,未传参数,默认为time.localtime())
time.strptime()将结构化字符串转化成struct_time形式
  • 时间戳,计算机识别的
  • 字符串时间,人类可以看的
  • 结构化时间,对操作时间

时间戳和结构化时间的转化

  • time.mktime(结构化时间)
>>>import time

>>> tp_struct=time.localtime()
>>> time.mktime(tp_struct)
1564104197.0

结构化到字符串时间的转化

  • time.strftime(format[,t])
>>>import time

>>> tp_struct=time.localtime()
>>> time.strftime("%Y-%m-%d %X",tp_struct)
'2019-07-26 09:26:32'

字符串时间到结构化时间的转化

  • time.strptime
>>>import time

>>> time.strptime("2019-7-26","%Y-%m-%d")
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=207, tm_isdst=-1)
>>> time.strptime("2019/7/26","%Y/%m/%d")
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=207, tm_isdst=-1)

结构化时间和字符串时间的转化(国际化时间字符串)

  • time.asctime(结构化时间)

时间戳和字符串的转化(国际化)

  • time.ctime()
>>>import time

>>> time.ctime(time.time())
'Fri Jul 26 09:51:53 2019'
>>> time.ctime()
'Fri Jul 26 09:52:05 2019'
>>> time.ctime(1500000000)
'Fri Jul 14 10:40:00 2017'

datetime模块

相比time来说,datetime模块接口更直观,更容易调用

方法(类)描述
datetime,date表示日期(类),常用属性year,month,day
datetime.time表示时间(类),常用属性hour,minute,second,microsecond
datetime.datetime表示日期
datetime.timedelta表示时间间隔
detetime.tzinfo
>>> import datetime

>>> datetime.datetime.now()
datetime.datetime(2019, 7, 26, 10, 3, 55, 795911)
>>> print(datetime.datetime.now().date())
2019-07-26
>>> print(datetime.datetime.now().time())
10:04:43.795808
>>> print(datetime.datetime.now()+datetime.timedelta(-1))
2019-07-25 10:06:44.619077  #当前时间减一天
>>> print(datetime.datetime.now()+datetime.timedelta(hours=1))
2019-07-26 11:07:40.983630  #当前时间加一小时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值