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 '''