这里的datetime不能说是第三方库,因为datetime是python的内建模块,不需要额外的安装。
datetime对象
先看一下datetime对象:
Init signature: datetime(self, /, *args, **kwargs)
Docstring:
datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
The year, month and day arguments are required. tzinfo may be None, or an
instance of a tzinfo subclass. The remaining arguments may be ints.
File: d:\anaconda3\lib\datetime.py
Type: type
Subclasses: datetime, _NaT, _Timestamp
即输入需要的year,month,day参数和其它的可选参数就可以完成datetime参数的创建:
datetime(2024,2,4)
结果为:
datetime.datetime(2024, 2, 4, 0, 0)
datetime的主要属性有:year、month、day、hour、minute、second、weekday,date、time,这些都可以直接访问。
date对象
先看一下date对象:
Init signature: date(self, /, *args, **kwargs)
Docstring: date(year, month, day) --> date object
File: d:\anaconda3\lib\datetime.py
Type: type
Subclasses: datetime
即输入需要的year,month,day参数就可以完成date参数的创建:
date(2024,2,4)
结果为:
datetime.date(2024, 2, 4)
time对象
先看一下time对象:
Init signature: time(self, /, *args, **kwargs)
Docstring:
time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object
All arguments are optional. tzinfo may be None, or an instance of
a tzinfo subclass. The remaining arguments may be ints.
File: d:\anaconda3\lib\datetime.py
Type: type
Subclasses:
即输入可选的hour,minute,second参数就可以完成date参数的创建:
time(15,3,6)
结果为:
datetime.time(15, 3, 6)
没有参数时,默认为0时0分。
datetime和string之间的转换
datetime和string之间的转换主要通过strftime和strptime来完成:
- strftime:可以将datetime格式化为字符串
- strptime:可以将字符串转换为datetme对象
datetime.now().strftime(r"%Y-%m-%d")
结果为:
2024-02-03
还有:
datetime.strptime(r"2024-02-03", "%Y-%m-%d")
结果为:
datetime.datetime(2024, 2, 3, 0, 0)
其中各个字符的含义为:
timedelta对象
两个datetime对象的差值会产生一个datetime.timedelta类型的对象:
datetime(2023,12,12,15,29,36) - datetime(2023,10,9,12,32,32)
结果为:
datetime.timedelta(days=64, seconds=10624)
而将一个datetime对象和一个timedelta对象相加则会产生新的datetime对象:
datetime(2023,12,12,15,29,36) - datetime(2023,10,9,12,32,32) + datetime(2023,10,9,12,32,32)
结果为:
datetime.datetime(2023, 12, 12, 15, 29, 36)