实践检验真知
以下代码直接复制到文件运行
1. time 模块详解
import time
"""
time模块
入口:
localtime 的入口是秒时间戳或当前时间
strptime 的入口是时间字符串
备注:
有时间戳或者时间字符串才有全部
"""
print('\n------------获取当前秒时间戳------------')
print(time.time())
print('\n------------获取秒时间戳对应的时间对象(时间元组) 没有传就默认是当前时间戳 ------------')
print(time.localtime())
print(time.localtime(time.time()))
print('\n------------获取时间对象转时间戳------------')
print(time.mktime(time.localtime()))
print('\n------------ asctime 格式化时间对象------------')
print(time.asctime(time.localtime()))
print('\n------------ strftime 格式化时间对象------------')
print(time.strftime(
"""
两位年份( %%y ): %y
四位年份( %%Y ): %Y
几月 ( %%m ) : %m 从1开始
月份名( %%b ) : %b 简化
月份名( %%B ) : %B 全称
几号 ( %%d ) : %d
几时 ( %%H ) : %H 24小时制
几时 ( %%l ) : %l 12小时制
分钟数( %%M ) : %M
秒数 ( %%S ) : %S
周几 ( %%a ) : %a 简化
周几 ( %%A ) : %A 全称
asctime( %%c ) : %c 和time.asctime()方法格式化一致
上午下午( %%p ) : %p
今天今年天数( %%j ) : %j
今天今年周数( %%U ) : %U 周日为一周的开始
今天今年周数( %%W ) : %U 周一为一周的开始
今天今月周数( %%w ) : %w 周日为一周的开始
时区 ( %%Z ) : %Z
当地格式日期表示( %%X ) : %X
当地格式时间表示( %%x ) : %x
""",
time.localtime()))
print('\n------------ strftime 格式化时间字符串------------')
print(time.strptime('2019/11/21 03:24:21', '%Y/%m/%d %H:%M:%S'))
print('\n------------ 线程休眠 ------------')
time.sleep(1)
print('休眠完')
"""
总结:
该模块使用于获取时间,生成时间,格式化时间功能
"""
2. datetime 模块详解
from datetime import datetime, date as dtdate, time as dttime, timedelta
"""
datatime模块
入口:
datetime.datetime() 通过数字年月日时分秒获取 datetime 对象
datetime.now() 获取当前时间的 datetime 对象
备注:
datatime 对象可以和 timedelta 对象 直接加减
datatime 对象相减可得 timedelta 对象
"""
print('\n------------ 获取当前时间对象 ------------')
now = datetime.now()
print(now)
print('\n------------ 获取时间对象时间戳 ------------')
print(now.timetuple())
print('\n------------ 获取指定时间对象 ------------')
dt1 = datetime(2019, 10, 21, 3, 41, 34)
dt2 = dtdate(2019, 10, 21)
dt3 = dttime(3, 41, 34)
print(dt1)
print('\n------------ 计算时间相差 返回 timedelta 对象 ------------')
td1 = dt1-now
print(td1)
print(td1.days)
print(dir(timedelta)) # timedelta的所有属性
print('\n------------ 通过时间相差 得到目标时间 ------------')
print(now + timedelta(days=100)) # 100天后是?
print('\n------------ 通过修改 得到目标时间 ------------')
print(now.replace(day=10, minute=30, hour=10))
print('\n------------ strptime 字符串格式化为dateTime ------------')
print(datetime.strptime('Thu Nov 21 15:55:54 2019', '%c'))
print('\n------------ strftime dateTime格式化为字符串 ------------')
print(datetime.strftime(now, '%c'))
"""
总结:
该模块是时间操作模块, 适用于计算时间, 操作时间等
"""
3.datetime对象和time对象之间的相互转换
"""
转化
datetime -> 时间戳 -> time
datetime -> 字符串 -> time
time -> 字符串 -> datetime
"""
print('\n------------ datetime转秒时间戳 ------------')
print(time.localtime(time.mktime(datetime.now().timetuple())))
print('\n------------ datetime -> 字符串 -> time ------------')
print(time.strptime(datetime.strftime(datetime.now(), '%c'), '%c'))
print('\n------------ time -> 字符串 -> datetime ------------')
print(datetime.strptime(time.strftime('%c', time.localtime()), '%c'))
网友评论