Python的datetime模块可以帮助我们处理任何精度的时间相关的信息。在本文中,我们将详细介绍该模块中的4个对象,即 date、time、datetime和timedelta。
Date表示了以年、月和日为单位的日期。让我们通过几个例子来展示该如何使用它们。
我们可以通过传递年、月、日这些信息,来创建存储日期的date对象。
time模块
time模块的时间表现方式有三种,分别是时间抽、时间字符串和时间元组。
下面我们一一来看
# 时间戳
ic(time.time())
# 时间字符串
ic(time.strftime('%Y/%m/%d %H:%M:%S'))
# 时间元组
ic(time.localtime())
'''
ic| time.time(): 1637025742.9728189
ic| time.strftime('%Y/%m/%d %H:%M:%S'): '2021/11/16 09:22:23'
ic| time.localtime(): time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=9, tm_min=22, tm_sec=23, tm_wday=1, tm_yday=320, tm_isdst=0)
'''
date模块
打印当前日期
# 今天的日期
print(date.today())
'''
2021-11-16
'''
格式化时间
# 格式化时间
d1 = date(2021, 11, 17)
s = d1.isoformat()
print(s)
'''
2021-11-17
'''
获取当前时间的年、周、星期
# 日历显示:(年,第几周,星期)
ic(d1.isocalendar())
# 获取星期(1~7)
ic(d1.isoweekday())
# 获取星期(0~6)
ic(d1.weekday())
'''
ic| d1.isocalendar(): datetime.IsoCalendarDate(year=2021, week=46, weekday=2)
ic| d1.isoweekday(): 2
ic| d1.weekday(): 1
'''
格式化时间
# 格式化时间
ic(d1.strftime('%Y/%m/%d'))
'''
ic| d1.strftime('%Y/%m/%d'): '2021/11/16'
'''
时间戳转换
# 时间戳转换为类似于元组的形式(localtime)
ic(d1.timetuple())
'''
ic| d1.timetuple(): time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=320, tm_isdst=-1)
'''
datetime模块
先来了解一下datatime的常用属性和方法
获取当前时间1【datatime】
# datetime类型
now = datetime.datetime.now()
print(now, type(now))
'''
2021-11-17 08:47:01.218928 <class 'datetime.datetime'>
'''
获取当前时间2【datatime】
# datetime类型
today = datetime.datetime.today()
print(today, type(today))
'''
2021-11-17 08:47:01.218928 <class 'datetime.datetime'>
'''
获取当前日期【str】
# str类型
d1 = datetime.datetime.now().strftime('%Y/%m/%d')
print(d1,type(d1))
'''
2021-11-17
'''
datetime.timedelta类
now = datetime.datetime.now()
# 获取当前时间
print(now)
# 获取30天后的时间
print(now + datetime.timedelta(days=30))
# 获取30天前的时间
print(now - datetime.timedelta(days=30))
'''
2021-11-17 09:01:28.384255
2021-12-17 09:01:28.384255
2021-10-18 09:01:28.384255
'''