Python datetime模块参考手册

Python datetime模块参考手册

Python提供了多个内置模块用于操作日期时间,像 calendar,time,datetime。time模块提供的接口与C标准库 time.h 基本一致。相比于 time 模块,datetime模块的接口则更直观、更容易调用。

模块定义了两个常量:

• datetime.MINYEAR
• datetime.MAXYEAR

这两个常量分别表示 datetime 所能表示的最小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。

datetime 模块定义了下面这几个类:
• datetime.date:表示日期的类。常用的属性有year, month, day;

datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;

• datetime.datetime:表示日期时间。• datetime.timedelta:表示时间间隔,即两个时间点之间的长度。

• datetime.tzinfo:与时区有关的相关信息。

注:以上列举的这些类型的对象都是不可变(immutable)的。

date 类
date 类表示一个日期(由年、月、日组成),其原型如下:

class datetime.date(year, month, day)

参数说明:

• year 的范围是 [MINYEAR, MAXYEAR],即 [1, 9999];

• month 的范围是[1, 12]。(月份是从1开始的,不是从0开始);

• day 的最大值根据给定的year, month参数来决定。例如闰年2月份有29天;

date 类定义了一些常用的类方法与类属性:
• date.max、date.min:date对象所能表示的最大、最小日期;

• date.resolution:date对象表示日期的最小单位。这里是天。

**• date.today():**返回一个表示当前本地日期的 date 对象;
**• date.fromtimestamp(timestamp):**根据给定的时间戮,返回一个 date 对象;

• datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;(Gregorian Calendar:一种日历表示方法,类似于我国的农历,西方国家使用比较多,此处不详细展开讨论。)

使用示例:

datetime.date.maxdatetime.date(9999, 12, 31)>>> datetime.date.mindatetime.date(1, 1, 1)>>> datetime.date.resolutiondatetime.timedelta(1)>>> datetime.date.today()datetime.date(2016, 5, 12)>>> datetime.date.fromtimestamp(time.time())datetime.date(2016, 5, 12)

date提供的实例方法和属性:
**• date.year、date.month、date.day:**年、月、日;

**• date.replace(year, month, day):**生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)

• date.timetuple():返回日期对应的time.struct_time对象;

• date.toordinal():返回日期对应的Gregorian Calendar日期;
• date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;• data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;

• date.isocalendar():返回格式如(year,month,day)的元组;

• date.isoformat();返回格式如’YYYY-MM-DD’的字符串;

• date.strftime(fmt):自定义格式化字符串。

使用示例:

today = datetime.date.today()>>> today.year2016>>> today.month5>>> today.day12>>> tomorrow = today.replace(day=13)>>> tomorrowdatetime.date(2016, 5, 13)>>> tomorrow.timetuple()time.struct_time(tm_year=2016, tm_mon=5, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=134, tm_isdst=-1)>>> tomorrow.toordinal()736097>>> tomorrow.weekday()4>>> tomorrow.isoweekday()5>>> tomorrow.isocalendar()(2016, 19, 5)>>> tomorrow.isoformat()‘2016-05-13’>>> tomorrow.strftime("%y-%m-%d")‘16-05-13’

date 重载了简单的运算符:
date 允许对日期进行加减和比较:

• date2 = date1 + timedelta:

日期加上一个间隔,返回一个新的日期对象

• date2 = date1 - timedelta:

日期隔去间隔,返回一个新的日期对象• timedelta = date1 - date2:

两个日期相减,返回一个时间间隔对象

• date1 < date2:

两个日期进行比较。

使用示例:

now = datetime.date.today()>>> nowdatetime.date(2016, 5, 12)>>> now += datetime.date.resolution>>> nowdatetime.date(2016, 5, 13)>>> now -= datetime.date.resolution>>> nowdatetime.date(2016, 5, 12)>>> now < datetime.date.maxTrue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值