Python中datetime模块
datetime—基本日期和时间类型
概述
c
l
a
s
s
d
a
t
e
t
i
m
e
.
d
a
t
e
class datetime.date
classdatetime.date
一个理想化的简单型日期,它假设当今的公历在过去和未来永远有效。 属性: year, month, and day
。
c
l
a
s
s
d
a
t
e
t
i
m
e
.
t
i
m
e
class datetime.time
classdatetime.time
一个独立于任何特定日期的理想化时间,它假设每一天都恰好等于 246060 秒。 (这里没有“闰秒”的概念。) 包含属性: hour, minute, second, microsecond 和 tzinfo
。
c
l
a
s
s
d
a
t
e
t
i
m
e
.
d
a
t
e
t
i
m
e
class datetime.datetime
classdatetime.datetime
日期和时间的结合。属性:year, month, day, hour, minute, second, microsecond, and tzinfo
.
c
l
a
s
s
d
a
t
e
t
i
m
e
.
t
i
m
e
d
e
l
t
a
class datetime.timedelta
classdatetime.timedelta
表示两个 date 对象或 time 对象,或者 datetime 对象之间的时间间隔,精确到微秒。
子类关系
object
time
date
datetime
timedelta 类对象
timedelta 对象表示两个 date 或者 time 的时间间隔。
c
l
a
s
s
d
a
t
e
t
i
m
e
.
t
i
m
e
d
e
l
t
a
(
d
a
y
s
=
0
,
s
e
c
o
n
d
s
=
0
,
m
i
c
r
o
s
e
c
o
n
d
s
=
0
,
m
i
l
l
i
s
e
c
o
n
d
s
=
0
,
m
i
n
u
t
e
s
=
0
,
h
o
u
r
s
=
0
,
w
e
e
k
s
=
0
)
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
classdatetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)
所有参数都是可选的并且默认为 0。 这些参数可以是整数或者浮点数,也可以是正数或者负数。
只有 days, seconds 和 microseconds 会存储在内部。
date 对象
date 对象代表一个理想化历法中的日期(年、月和日
c
l
a
s
s
d
a
t
e
t
i
m
e
.
d
a
t
e
(
y
e
a
r
,
m
o
n
t
h
,
d
a
y
)
class datetime.date(year, month, day)
classdatetime.date(year,month,day)
所有参数都是必要的。
实例属性(只读):
d
a
t
e
.
y
e
a
r
date.year
date.year
在 MINYEAR 和 MAXYEAR 之间,包含边界。
d
a
t
e
.
m
o
n
t
h
date.month
date.month
1 至 12(含)
d
a
t
e
.
d
a
y
date.day
date.day
返回1到指定年月的天数间的数字。
支持的运算:
运算 | 结果: |
---|---|
| date2 will be |
| 计算 date2 的值使得 |
| (3) |
| 如果 date1 的时间在 date2 之前则认为 date1 小于 date2 。 (4) |
实例方法
d
a
t
e
.
w
e
e
k
d
a
y
(
)
date.weekday()
date.weekday()
返回一个整数代表星期几,星期一为0,星期天为6。例如, date(2002, 12, 4).weekday() == 2,表示的是星期三。
d
a
t
e
.
i
s
o
w
e
e
k
d
a
y
(
)
date.isoweekday()
date.isoweekday()
返回一个整数代表星期几,星期一为1,星期天为7。例如:date(2002, 12, 4).isoweekday() == 3,表示星期三。
d
a
t
e
.
i
s
o
f
o
r
m
a
t
(
)
date.isoformat()
date.isoformat()
返回一个以 ISO 8601 格式 YYYY-MM-DD 来表示日期的字符串:
>>>from datetime import date
>>>date(2002, 12, 4).isoformat()
'2002-12-04'
time 对象
一个 time 对象代表某日的(本地)时间,它独立于任何特定日期,并可通过 tzinfo 对象来调整。
c
l
a
s
s
d
a
t
e
t
i
m
e
.
t
i
m
e
(
h
o
u
r
=
0
,
m
i
n
u
t
e
=
0
,
s
e
c
o
n
d
=
0
,
m
i
c
r
o
s
e
c
o
n
d
=
0
,
t
z
i
n
f
o
=
N
o
n
e
,
∗
,
f
o
l
d
=
0
)
class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
classdatetime.time(hour=0,minute=0,second=0,microsecond=0,tzinfo=None,∗,fold=0)
所有参数都是可选的。
实例属性(只读):
t
i
m
e
.
h
o
u
r
time.hour
time.hour
取值范围是 range(24)。
t
i
m
e
.
m
i
n
u
t
e
time.minute
time.minute
取值范围是 range(60)。
t
i
m
e
.
s
e
c
o
n
d
time.second
time.second
取值范围是 range(60)。
t
i
m
e
.
m
i
c
r
o
s
e
c
o
n
d
time.microsecond
time.microsecond
取值范围是 range(1000000)。
注意
time对象不支持与timedelta对象的运算
datetime 对象
datetime 对象是包含来自 date 对象和 time 对象的所有信息的单一对象。
构造器
c
l
a
s
s
d
a
t
e
t
i
m
e
.
d
a
t
e
t
i
m
e
(
y
e
a
r
,
m
o
n
t
h
,
d
a
y
,
h
o
u
r
=
0
,
m
i
n
u
t
e
=
0
,
s
e
c
o
n
d
=
0
,
m
i
c
r
o
s
e
c
o
n
d
=
0
,
t
z
i
n
f
o
=
N
o
n
e
,
∗
,
f
o
l
d
=
0
)
class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
classdatetime.datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0,tzinfo=None,∗,fold=0)
year, month 和 day 参数是必须的。
类属性
d
a
t
e
t
i
m
e
.
y
e
a
r
datetime.year
datetime.year
在 MINYEAR 和 MAXYEAR 之间,包含边界。
d
a
t
e
t
i
m
e
.
m
o
n
t
h
datetime.month
datetime.month
1 至 12(含)
d
a
t
e
t
i
m
e
.
d
a
y
datetime.day
datetime.day
返回1到指定年月的天数间的数字。
d
a
t
e
t
i
m
e
.
h
o
u
r
datetime.hour
datetime.hour
取值范围是 range(24)。
d
a
t
e
t
i
m
e
.
m
i
n
u
t
e
datetime.minute
datetime.minute
取值范围是 range(60)。
d
a
t
e
t
i
m
e
.
s
e
c
o
n
d
datetime.second
datetime.second
取值范围是 range(60)。
d
a
t
e
t
i
m
e
.
m
i
c
r
o
s
e
c
o
n
d
datetime.microsecond
datetime.microsecond
取值范围是 range(1000000)。
支持的运算
运算 | 结果: |
---|---|
| (1) |
| (2) |
| (3) |
|
实例方法
d
a
t
e
t
i
m
e
.
w
e
e
k
d
a
y
(
)
datetime.weekday()
datetime.weekday()
返回一个整数代表星期几,星期一为0,星期天为6。例如, date(2002, 12, 4).weekday() == 2,表示的是星期三。
d
a
t
e
t
i
m
e
.
i
s
o
w
e
e
k
d
a
y
(
)
datetime.isoweekday()
datetime.isoweekday()
返回一个整数代表星期几,星期一为1,星期天为7。例如:date(2002, 12, 4).isoweekday() == 3,表示星期三。
d
a
t
e
t
i
m
e
.
i
s
o
f
o
r
m
a
t
(
s
e
p
=
′
T
′
,
t
i
m
e
s
p
e
c
=
′
a
u
t
o
′
)
datetime.isoformat(sep='T', timespec='auto')
datetime.isoformat(sep=′T′,timespec=′auto′)
返回一个以 ISO 8601 格式表示的日期和时间字符串:
YYYY-MM-DDTHH:MM:SS.ffffff,如果 microsecond 不为 0
YYYY-MM-DDTHH:MM:SS,如果 microsecond 为 0
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!