time模块与datetime模块

time模块

imporrt time
time.sleep([n])  #休眠n秒

time.time()   #获取当前时间戳

表示时间的三种方式:

  • 时间戳(timetamp):表示的是从1970.01.01 00:00:00 开始按秒计算的偏移量。
  • 格式化的时间字符串(format string)
  • 结构化的时间(struct_time) —>元组,9个元素,(年月日时分秒,一周第几天(0表示第一天),一年第几天(从1开始),夏令时)

python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(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 当前时区的名称
%% %号本身

time模块的常用方法

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

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

  • time.gmtime()
  • time.localtime()
import time
now = time.time()
print(now)
print(time.gmtime(now))   #UTC时间
print(time.localtime(now))  #当地时间。以北京所在时区为准
#输出
1564104102.3117387
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=1, tm_min=21, tm_sec=42, tm_wday=4, tm_yday=207, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=9, tm_min=21, tm_sec=42, tm_wday=4, tm_yday=207, tm_isdst=0)

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

  • time.mktime(结构化时间)
import time
now = time.localtime()
print(now)
print(time.mktime(now))
#输出
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=9, tm_min=23, tm_sec=6, tm_wday=4, tm_yday=207, tm_isdst=0)
1564104186.0

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

  • time.strftime(format[,t])
import time
now = time.localtime()
print(now)
print(time.strftime('%Y-%m-%d %X',now))
#输出
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=9, tm_min=27, tm_sec=6, tm_wday=4, tm_yday=207, tm_isdst=0)
2019-07-26 09:27:06

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

  • time.strptime(时间字符串,字符串对应格式)
import time
print(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()
import time
now = time.localtime()
print(time.asctime(now))
#输出
Fri Jul 26 09:49:09 2019

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

  • time.ctime
import time
print(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表示时间间隔
datetime.tzinfo与时区有关的信息
import datetime
now=datetime.datetime.now()
print(now.date())
print(now.time())
print(now)
#输出
2019-07-26
10:05:43.614643
2019-07-26 10:05:43.614643
import datetime
now=datetime.datetime.now()
print(now+datetime.timedelta(-1))   #天数减一
print(now+datetime.timedelta(hours=1))   #小时加一
print(now)
#输出
2019-07-25 10:06:53.147006
2019-07-26 11:06:53.147006
2019-07-26 10:06:53.147006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值