datetime模块
-
导入:
import datetime
-
使用
-
date
-
# 获取当前日期 datetime.date.today() # 2022-11-14 # 设置指定日期 datetime.date(year=2023, month=12, day=2) # 2023-12-02 datetime.date(2023, 12, 2) # 位置传参 datetime.date.today().year # 2022 datetime.date.today().month # 11 datetime.date.today().day # 14 # 格式化日期 datetime.date.ctime(datetime.date.today()) # Mon Nov 14 00:00:00 2022 datetime.date.strftime(datetime.date.today(), "%Y-%m-%d %H:%M:%S") # 2022-11-14 00:00:00 datetime.date.isoformat(datetime.date.today()) # 2022-11-14, iso格式化时间(年-月-日) datetime.date.isoweekday(datetime.date.today()) # 1 iso格式化时间,返回星期几 datetime.date.isocalendar(datetime.date.today()) # (2022, 46, 1) iso格式化时间(年,周数,星期几) datetime.date.toordinal(datetime.date.today()) # 738473,计算公元公历到现在的天数 datetime.date.fromordinal(738473) # 2022-11-14,将公元公历到现在的天数格式化 # 更改日期 datetime.date.today().replace(year=2023, day=1) # 2023-11-01 # 根据时间戳计算时间 datetime.date.fromtimestamp(1668433821.824537) # 2022-11-14 # 返回一个时间元组 datetime.date.timetuple(datetime.date.today()) # time.struct_time(tm_year=2022, tm_mon=11, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=318, tm_isdst=-1) # 获取日期的最大值 datetime.date.max # 9999-12-31 # 获取日期的最小值 datetime.date.min # 0001-01-01
-
-
datetime
-
# datetime.datetime对象中的属性 datetime_obj = datetime.datetime.today() datetime_obj.year # 年 datetime_obj.month # 月 datetime_obj.hour # 时 # 获取当前datetime.datetime对象 datetime.datetime.today() # 2022-11-16 21:57:04.868518 datetime.datetime.now() # 2022-11-16 21:57:04.868518,()中可以指定时区 # 根据时间戳获取对应datetime.datetime对象 datetime.datetime.fromtimestamp(time.time()) # atetime.datetime.fromtimestamp(时间戳[时区]) # 将时间字符串转为datetime.datetime对象 datetime.datetime.strptime("2022-11-16 22:03:58", "%Y-%m-%d %H:%M:%S") # strptime("时间字符串", "格式") # 将datetime.datetime对象转换为时间字符串 datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") # 2022-11-16 22:20:17 # 将datetime.datetime类的对象转换为datetime.date对象 a = datetime.datetime.time(datetime.datetime.now()) # 2022-11-16 # 将datetime.datetime类的对象转换为datetime.time对象 b = datetime.datetime.time(datetime.datetime.now()) # 22:08:44.874375 # 将datetime.date对象和datetime.time对象转换成datetime.datetime对象 datetime.datetime.combine(a, b) # 2022-11-16 22:11:07.424325 # 修改datetime.datetime对象中的属性 datetime.datetime.now().replace(year=2023, month=1) # 2023-01-16 22:13:48.148241 # 获取datetime.datetime的结构化时间 datetime.datetime.now().timetuple() # time.struct_time(tm_year=2022, tm_mon=11, tm_mday=16, tm_hour=22, tm_min=15, tm_sec=33, tm_wday=2, tm_yday=320, tm_isdst=-1) # 获取今天是星期几(0代表星期一,这里2代表星期三) datetime.datetime.weekday(datetime.datetime.now()) # 2 # 返回一个元组(年,周数,星期几) datetime.datetime.isocalendar(datetime.datetime.now()) # (2022, 46, 3)
-
-
timedelta
-
# timedelta是用来表示两个时间的时间差的 now = datetime.datetime.now() # now = 2022-11-16 22:27:54.520353 # 获取到一天后的datetime.datetime对象 n_time = datetime.timedelta(days=1) next_day = now + d_time # next_day = 2022-11-17 22:27:54.520353 # 获取到一天前的datetime.datetime对象 p_time = datetime.timedelta(days=-1) pre_day = now + p_time # pre_day = 2022-11-15 22:27:54.520353,也可以now-n_time得到一天前的 # 获取到1天2小时4分钟30秒后的datetime.datetime对象 a = now + datetime.timedelta(days=1, hours=2, minutes=4, seconds=30) # 2022-11-18 00:39:57.286777 # 获取1天2小时4分钟30秒是多少秒 datetime.timedelta(days=1, hours=2, minutes=4, seconds=30).total_seconds() # 93870.0
-
-
time
-
# datetime.time类的实例化 a = datetime.time(1, 2, 3, 4) # 01:02:03.000004 时(hour):分(minute):秒(second):微秒(microsecond) 时区(tzinfo) # replace修改 b = a.replace(hour=4, minute=5) # b = 04:05:03.000004 # 格式化datetime.time对象 a.strftime("%H:%M:%S") # 01:02:03 a.__format__("%H:%M:%S") # 01:02:03 a.isoformat() # 国际格式化 01:02:03.000004
-
-