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 = date1 + timedelta

date2 will be timedelta.days days after date1. (1)

date2 = date1 - timedelta

计算 date2 的值使得 date2 + timedelta == date1。 (2)

timedelta = date1 - date2

(3)

date1 < date2

如果 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)。

支持的运算

运算

结果:

datetime2 = datetime1 + timedelta

(1)

datetime2 = datetime1 - timedelta

(2)

timedelta = datetime1 - datetime2

(3)

datetime1 < datetime2

比较 datetimedatetime。 (4)

实例方法
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

posted @   chanxe  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示