常用时间模块
time模块
示例:
import time
print('Hello')
# 睡眠指定的秒数
# time.sleep(2)
print('world')
# 时间戳:从1970-01-01 00:00:00到此刻的秒数
t = time.time()
# print(t)
# 将时间戳转换为time.struct_time对象
# 不指定时间戳时默认转换当前时间戳,带时区
local_time = time.localtime()
# 可以通过属性或者下标进行访问
print(local_time.tm_year, local_time[0])
# 功能通过localtime,不带时区
gm_time = time.gmtime()
print(gm_time)
# 0时区与当地时区相差的秒数
print(time.timezone)
# 将相关的时间信息转换为时间戳
t2 = time.mktime((2019, 8, 2, 10, 48, 45, 4, 214, 0))
print(t2)
# 将struct_time转换为特定格式显示
print(time.asctime())
# 格式化显示
# print(time.strftime('%Y-%m-%d %H:%M:%S %w %W', local_time))
print(time.strftime('%D', local_time))
'''
%Y 年(4位)
%y 年(2位)
%m 月
%d 日
%D 月/日/年
%H 时
%M 分
%S 秒
%w 星期(1-7)
%W 今年的第几周
'''
t3 = time.strptime('2019-08-02 11:02:03', '%Y-%m-%d %H:%M:%S')
print(t3)
print(time.mktime(t3))
calendar日历
示例:
import calendar
# w:星期的字符个数
# l:行高(几倍的行距)
# c:月份之间的水平间距
# m:每行显示的月份数量
c = calendar.calendar(2019, w=3, l=2, c=2, m=2)
# print(c)
# 查看某一年的某一个月份
m = calendar.month(2019, 8, w=3, l=2)
# print(m)
# 判断是否是闰年
print(calendar.isleap(2019))
print(calendar.isleap(2020))
# 统计两个年份之间的闰年数量,包括起始年份,不包括结束年份
print(calendar.leapdays(2000, 2008))
print(calendar.leapdays(2000, 2009))
datetime
date:日期 年月日
from datetime import date
import time
# 指定年月日
dt = date(2019, 8, 2)
print(dt)
# 今天
dt2 = date.today()
print(dt2)
# 指定时间戳
dt3 = date.fromtimestamp(time.time())
print(dt3)
# 单独获取年、月、日
print(dt.year, dt.month, dt.day)
# 转化为struct_time类型
print(dt2.timetuple())
# 获取星期:0-6
print(dt2.weekday())
# 获取星期:1-7
print(dt2.isoweekday())
# 格式化显示
print(dt3.strftime('%Y/%m/%d'))
# 标准格式显示 2019-08-02
print(dt3.isoformat())
# 以日历形式查看:(年, 周数,星期)
print(dt3.isocalendar())
time 时间 时分秒
from datetime import time
t = time(11, 22, 33)
print(t)
# 单独获取时、分、秒
print(t.hour, t.minute, t.second)
# 格式化显示
print(t.strftime('%H=%M=%S'))
datetime
from datetime import datetime
import time
dt1 = datetime(2019, 8, 2, 11, 50, 55)
print(dt1)
# 当前日期时间:带时区
print(datetime.now())
# 当前日期时间:不带时区(格林尼治)
print(datetime.utcnow())
# 转换时间戳为日期时间对象
print(datetime.fromtimestamp(time.time()))
# 获取日期
print(dt1.date())
# 获取时间
print(dt1.time())
# 转换为时间戳
print(dt1.timestamp())
# 转换为struct_time
print(dt1.timetuple())
# 格式化显示
print(dt1.strftime('%Y/%m/%d %H/%M/%S'))
timedelta:时间间隔
from datetime import datetime, timedelta
d1 = datetime(2019, 8, 2, 11, 58, 58)
d2 = datetime(2019, 8, 1, 8, 50, 58)
delta = d1 - d2
print(delta, type(delta))
# 相差天数
print(delta.days)
# 除天以外的秒数
print(delta.seconds)
# 总共多少秒
print(delta.total_seconds())
td = timedelta(days=2, hours=3, minutes=5)
print(td)
# 可以之间参与运算,得到新的对象
dt3 = d2 + td
print(dt3)