您的位置:首页 > 编程语言 > Python开发

Python日期时间操作学习

2016-01-22 00:00 706 查看
摘要: Python日期时间操作学习,涉及datetime time calendar三个模块的理解。

datetime模块中涉及有以下类:

类名
描述
datetime.date
理想化的日期对象,假设使用格力高历,有year, month, day三个属性
datetime.time
理想化的时间对象,不考虑闰秒(即认为一天总是24*60*60秒),有hour, minute, second, microsecond, tzinfo五个属性
datetime.datetime
datetime.date和datetime.time的组合
datetime.timedelta
表示两个datetime.date, datetime.time或者datetime.datetime之间的差
datetime.tzinfo
时区信息,datetime中仅定义了抽象接口,并不提供具体实现
datetime 模块中涉及的time、datetime两个时间表示类,都有naive(不包含时区、夏令时信息)和aware(包含时区和夏令时信息)两种类型。主要看实例属性中tzinfo是否为None。

date、time、datetime的Class attributes都定义了各自相关的属性的取值区间;Instance attributes定义了相关属性的读取接口。

timedelta表示时间差。注意对一个给定timedelta, td - timedelta 和 td + (-timedelta)可能并不相等,因为-timedelta可能会有溢出。

datetime.astimezone(tz)提供了时区之前时间切换的方法。

datetime.tzinfo,python2.7 manual中明确说明了:The datetime module does not supply any concrete subclasses of tzinfo。 一个比较常见的是由第三方提供的pytz模块来提供时区信息。

Unix Timestamp: seconds since Jan 01 1970. (UTC),这是一个绝对的值,和时区无关,也即在任意给定时刻,所有时区上的unix timestamp是一样的。

time模块

提供了对timestamp的一些操作

可以通过time.time()获取当前时间戳

提供一个time.struct_time来封装时间的解析结果,并且和datetime中的对象建立联系。

使用time.mktime()将一个本地(不是UTC时间,也无法指定其他时区)时间转化成Unix 推timestamp

calendar 模块

在datetime模块的基础上,提供了对Gregorian calendar的操作——主要是为了方便做日历输出和日期遍历(This module allows you to output calendars like the Unix cal program, and provides additional useful functions related to the calendar.)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: