python time,calendar,datetime
time
-
sleep:休眠指定的秒数(可以是小数)
-
localtime:将一个时间戳转换为time.struct_time类型的对象(类似于元组)
# 将一个时间戳转换为一个类似于元组的对象,不指定时间戳转换当前时间 local_time = time.localtime() # 可以通过下表获取元素 print(local_time[0]) # 也可以通过名称(对象的成员属性) print(local_time.tm_year)
结果:
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=12, tm_hour=15, tm_min=39, tm_sec=11, tm_wday=0, tm_yday=71, tm_isdst=0)年、月、日、时、分、秒、星期(0~6)、今年的第几天、夏令时
-
mktime:根据元组形式的时间生成一个时间戳
# 将元组形式的时间转换为时间戳 # new_time = time.mktime(local_time) new_time = time.mktime((2018, 3, 12, 15, 42, 10, 0, 71, 0)) print(new_time)
-
strftime:将一个元组形式的时间格式化为字符串,不传时间默认转换当前时间
# 时间格式化显示, print(time.strftime('%Y-%m-%d %H:%M:%S %w %W', local_time)) print(time.strftime('%D')) ''' %Y:2018 年(4位) %y:18 年(2位) %m:月 %d:日 %D:03/12/18 %H:时(24小时制) %I:时(12小时制) %M:分 %S:秒 %w:星期(1~7) %W:本周是今年的第几周 '''
-
gmtime:将一个时间戳转换为元组形式,不传默认转换当前时间
# 将一个时间戳转换为元组形式 gm_time = time.gmtime(time.time()) print(gm_time)
-
asctime:
# 将一个元组形式的时间转换为标准格式字符串,不传参数转换当前时间 # print(time.asctime()) print(time.asctime(local_time))
-
timezone:0时区减去当前时区的秒数
# 0时区减去当前时区的秒数 print(time.timezone)
calendar
-
日历
import calendar # 获取某一年的日历 c = calendar.calendar(2018, w=3, l=2, m=2, c=10) # print(c) # 获取指定年指定月的日历 m = calendar.month(2018, 3) # print(m)
#判断一个年份是否是闰年
print(calendar.isleap(2008))
#判断[起始,结束)之间闰年的个数
print(calendar.leapdays(2000, 2009))
eval
-
将一个有效的python代码字符串执行一遍
-
示例:
a = 10 b = 20 s = 'a+b' # 打印的结果是30 print(eval(s))
datetime
-
date
from datetime import date, time, datetime, timedelta import time as t d1 = date(2018, 3, 13) print(d1) d2 = date.today() print(d2) d3 = date.fromtimestamp(t.time()) print(d3) # 标准格式字符串 print(d1.isoformat()) # 日历显示形式(年,第几周,星期) print(d1.isocalendar()) # 获取星期(1~7) print(d1.isoweekday()) # 获取星期(0~6) print(d1.weekday()) # 格式化 print(d1.strftime('%Y-%m-%d')) # 转换为元组形式 print(d1.timetuple())
-
time
from datetime import time t = time(12, 13, 14) print(t) # 单独获取时、分、秒 print(t.hour) print(t.minute) print(t.second) # 格式化 print(t.strftime('%H::%M::%S'))
-
datetime
from datetime import datetime import time dt = datetime(2018, 3, 13, 9, 53, 30) print(dt) # 本地时间 dt2 = datetime.now() print(dt2) # 不带时区的时间 dt3 = datetime.utcnow() print(dt3) # 将一个时间戳转换为datetime dt4 = datetime.fromtimestamp(time.time()) print(dt4) # 获取日期 print(dt4.date()) # 获取时间 print(dt4.time()) # 获取时间戳 print(dt4.timestamp()) # 格式化显示 print(dt4.strftime('%Y-%m-%d %H:%M:%S'))
-
timedelta
from datetime import datetime, timedelta d1 = datetime(2018, 3, 12, 12, 13, 14) d2 = datetime(2018, 3, 13, 13, 14, 15) delta = d2 - d1 print(delta) print(type(delta)) delta2 = timedelta(days=2, hours=2, seconds=30) print(delta2) d3 = d1 + delta2 print(d3)
天数
print(delta2.days)
除天数外的秒数
print(delta2.seconds)
总秒数
print(delta2.total_seconds())