Python datetime 模块详解

Python中常用于时间的模块有time、datetime 和 calendar,顾名思义 time 是表示时间(时、分、秒、毫秒)等,calendar 是表示日历时间的,本章先讨论 datetime 模块。

先看看 datetime 模块都有些什么

datetime 模块中有什么
序号 描述 类型
1 MAXYEAR  9999,指能支持的最大年份 int
2 MINYEAR  1,指能支持的最小年份 int
3 date 表示日期的类,常用的属性有year, month, day type 
4 datetime 表示日期时间的类,常用的属性有hour, minute, second, microsecond type
5 datetime_CAPI 后面详细描述 'PyCapsule' 类
6 sys 各种系统信息 'module'类
7 time 表示时间的类 type 
8 timedelta 表示时间间隔,即两个时间点的间隔。在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算 type 
9 timezone 表示时区的类 type
10 tzinfo 时区的相关信息 type

准确的说,datetime 模块中的常用类即date、datetime、time、timedelta、timezone、tzinfo。

其中date、datetime、time三个类有非常相似的属性和方法。

创建该三个类的示范如下:

import datetime
date_sample=datetime.date(2021,07,20) #年月日
time_sample=datetime.time(12,20,33) #时分秒
datetime_sample=datetime.datetime(2021,7,20,12,20,33)#年月日时分秒
datetime 模块中date、time、datetime 三个类的常用属性和方法
序号 属性 date time datetime
1 max 固定,datetime.date(9999, 12, 31) 固定,datetime.time(23, 59, 59, 999999) 固定 datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
2 min 固定,datetime.date(1, 1, 1) 固定,datetime.time(0, 0) 固定,datetime.datetime(1, 1, 1, 0, 0)
3 microsecond  NA 返回 int 数值,实例里面的毫秒 同time
4 second NA 返回 int 数值,实例里面的秒 同time
5 minute NA 返回 int 数值,实例里面的分 同time
6 hour  NA 返回 int 数值,实例里面的时 同time
7 day 返回 int 数值,实例里面的日期 同date 同date
8 month 返回 int 数值,实例里面的月份 同date 同date
9 year 返回 int 数值,实例里面的年份 同date 同date
10 resolution e时间的最小单位,即两个不同时间的最小差值,datetime.timedelta(days=1) datetime.timedelta(microseconds=1) datetime.timedelta(microseconds=1)
11 fold  NA
tzinfo tzinfo 可以是 None 或者 tzinfo 子类的实例对象 同date 同date
序号 方法 date time datetime
1 ctime 返回字符串类型的当前日期如 'Thu Sep  9 00:00:00 2021' NA 同 date
2 dst() NA  如果 tzinfo 属性是 None,则返回 None;否则返回 self.tzinfo.dst(self) 同 time
3

fromisocalendar(year,

week,weekday)

返回datetime.date类型,从描述那一年第几个周第几天转换成描述年月日的格式 NA 返回datetime.datetime类型,从描述那一年第几个周第几天转换成描述年、月、日、时、分的格式
4 fromisoformat(str) 返回 date 类型,str 格式就是isoformat的返回格式即  '2021-09-09' 返回 time 类型,str 格式就是isoformat的返回格式即  'hour:minute:second' 返回 datetime 类型,str 格式就是isoformat的返回格式即  ''2021-09-02 12:40:22''
5 fromordinal(int) 返回 date 类型,int表示的数值就是从公元元年一月一号开始的第几天 NA 返回 datetmie 类型,int表示的数值就是从公元元年一月一号开始的第几天
6 fromtimestamp(timestamp) 返回 date 类型,POSIX NA 返回 datetime 类型
7 isocalendar() 返回一个三元素的元组,即显示在calendar里面的year、week、weekyday NA 返回一个三元素的元组,即显示在calendar里面的year、week、weekyday
8 isoformat() 返回字符串类型,格式如 '2021-09-09' 返回字符串类型,格式如 '12:20:33' 返回字符串类型,格式如 '2021-07-20T12:20:33'
9 isoweekday() 返回 int 类型,数字1-7代表周一到周日 NA 同date
9 replace replace(year=newYear,month=newMonth,day=newDay),更新数值,返回 date 类型的实例

replace(hour=x,minute=y,second=z,

microsecond=a,tzinfo=t) 更新数值,返回 time 类型的实例

replace(year=newYear,month=newMonth,day=newDay,hour=newHour,minute=newMinute,second=newSecond,microsecond=newMicrosecond),

更新数值,返回 datetime 类型的实例

10 strftime(.....) strftime(格式),按照既定格式输出字符串格式 strftime(格式),按照既定格式输出字符串格式

strftime(格式),按照既定格式输出字符串格式

11 timetuple() 返回的是time.struct_time类,(tm_year=xx, tm_mon=x, tm_mday=x, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=221, tm_isdst=-1) NA 同 date
12 today() 返回 date 类型 NA 返回 datetime 类型
13 toordinal() 返回数值类型,提示是第几天 NA 返回 datetime 类型
14 tzname() NA It uses an instance of the class and returns the time zone name of the datetime object passed, as a string. It is an instance method and works on an aware object. For a naive object, it returns None. 同 time
15 utcoffset() utcoffset(...) Return self.tzinfo.utcoffset(self).
16 weekday() 返回从0开始的数字,比如今天是星期5,那么返回的就是4 NA 同date

附 python中时间日期格式化符号:

  1. %y 两位数的年份表示(00-99)
  2. %Y 四位数的年份表示(000-9999)
  3. %m 月份(01-12)
  4. %d 月内中的一天(0-31)
  5. %H 24小时制小时数(0-23)
  6. %I 12小时制小时数(01-12)
  7. %M 分钟数(00-59)
  8. %S 秒(00-59)

你可能感兴趣的:(#,Python,基础知识,python,java,算法)