代码:
print('{:=^50s}'.format('datetime.date'))
输出结果:
==================datetime.date===================
1、第一种类: datetime.date类-日期
1.1 通过datetime.date类的today方法生成对象
date_systime = datetime.date.today()
print(date_systime, type(date_systime))
输出结果:
2021-08-09 <class 'datetime.date'>
1.2 datetime.date类直接给定参数生成对象
date_build = datetime.date(2021, 4, 28)
print(date_build, type(date_build))
输出结果:
2021-04-28 <class 'datetime.date'>
1.3 datetime.date类的时间戳方法生成对象
date_from_stamp = datetime.date.fromtimestamp(time.time())
print(date_from_stamp, type(date_from_stamp))
输出结果:
2021-08-09 <class 'datetime.date'>
1.4 datetime.date类的属性
print(datetime.date.max)
print(datetime.date.min)
print(datetime.date.resolution)
输出结果:
9999-12-31
0001-01-01
1 day, 0:00:00
1.5 datetime.date类的对象属性
date_build = datetime.date(2021, 4, 28)
print(date_build.year)
print(date_build.month)
print(date_build.day)
输出结果:
2021
4
28
1.6 datetime.date类的对象的replace方法
print(date_build.replace(2022))
print(date_build.replace(day=3))
print(date_build.replace(date_build.year, date_build.month, 25))
输出结果:
2022-04-28
2021-04-03
2021-04-25
1.7 datetime.date类的对象的timetuple方法-转化为结构化时间对象,实际是个元组
struct_time_cal = date_build.timetuple()
print(struct_time_cal)
print(type(struct_time_cal))
输出结果:
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=28, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=118, tm_isdst=-1)
<class 'time.struct_time'>
1.8 datetime.date类的对象的strftime方法-转化为格式化字符串
print(date_build.strftime('%m/%d/%Y'))
输出结果:
04/28/2021
1.9 datetime.date类的实例对象的weekday方法
today_date = datetime.date.today()
which_day = today_date.weekday()
print(which_day, type(which_day))
输出结果:(0表示周一)
0 <class 'int'>
2、第二种类:datetime.time类-时间
2.1 datetime.time类直接通过参数生成实例
time_build = datetime.time(18, 23, 53, 123456)
print(time_build, type(time_build))
输出结果:
18:23:53.123456 <class 'datetime.time'>
2.2 datetime.time类的实例属性
print(time_build.hour)
print(time_build.minute)
print(time_build.second)
print(time_build.microsecond)
输出结果:
18
23
53
123456
2.3 datetime.time类的实例的strftime方法-转化为指定格式化字符串
time_build_str = time_build.strftime('%H:%M:%S')
print(time_build_str, type(time_build_str))
输出结果:
18:23:53 <class 'str'>
3、第三种类:datetime.datetime类-日期时间
3.1 datetime.datetime类直接通过参数生成实例
datetime_build = datetime.datetime(2009, 4, 15, 23, 34, 55, 678943)
print(datetime_build, type(datetime_build))
输出结果:
2009-04-15 23:34:55.678943 <class 'datetime.datetime'>
3.2 通过datetime.datetime的类方法生成实例
datetime_build = datetime.datetime.today()
print(datetime_build, type(datetime_build))
datetime_build = datetime.datetime.now()
print(datetime_build, type(datetime_build))
datetime_build = datetime.datetime.utcnow()
print(datetime_build, type(datetime_build))
输出结果:
2021-08-09 11:33:20.276004 <class 'datetime.datetime'>
2021-08-09 11:33:20.276004 <class 'datetime.datetime'>
2021-08-09 03:33:20.276004 <class 'datetime.datetime'>
3.3 通过datetime.datetime类的时间戳方法生成实例
datetime_build = datetime.datetime.fromtimestamp(time.time())
print(datetime_build, type(datetime_build))
输出结果:
2021-08-09 11:33:20.276004 <class 'datetime.datetime'>
3.4 通过datetime.datetime类的字符串方法生成实例
datetime_build = datetime.datetime.strptime('2021-05-23 17:25:39', '%Y-%m-%d %H:%M:%S')
print(datetime_build, type(datetime_build))
输出结果:
2021-05-23 17:25:39 <class 'datetime.datetime'>
3.5 通过datetime.datetime类的组合方法(datetime.date组合datetime.time)生成实例
datetime_build = datetime.datetime.combine(date_build, time_build)
print(datetime_build, type(datetime_build))
输出结果:
2021-04-28 18:23:53.123456 <class 'datetime.datetime'>
3.6 datetime.datetime类的实例属性
print(datetime_build.year)
print(datetime_build.month)
print(datetime_build.day)
print(datetime_build.hour)
print(datetime_build.minute)
print(datetime_build.second)
print(datetime_build.microsecond)
输出结果:
2021
4
28
18
23
53
123456
3.7 datetime格式化符号
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
3.8 Datetime对象与指定字符串相互转换-strptime&strftime方法
datetime_build = datetime.datetime.strptime('2021-05-23 17:25:39', '%Y-%m-%d %H:%M:%S')
print(datetime_build, type(datetime_build))
datetime_build_str = datetime_build.strftime('%H:%M:%S %Y-%m-%d')
print(datetime_build_str, type(datetime_build_str))
输出结果:
2021-05-23 17:25:39 <class 'datetime.datetime'>
17:25:39 2021-05-23 <class 'str'>