Python的时间模块datetime详解


Posted in Python onApril 17, 2017

datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1.

datetime模块定义了5个类,分别是

1.datetime.date:表示日期的类

2.datetime.datetime:表示日期时间的类

3.datetime.time:表示时间的类

4.datetime.timedelta:表示时间间隔,即两个时间点的间隔

5.datetime.tzinfo:时区的相关信息

一、首先看一下datetime.date类:

date类有三个参数,datetime.date(year,month,day),返回year-month-day

方法:

1.datetime.date.ctime(),返回格式如 Sun Apr 16 00:00:00 2017

2.datetime.date.fromtimestamp(timestamp),根据给定的时间戮,返回一个date对象;datetime.date.today()作用相同

3.datetime.date.isocalendar():返回格式如(year,month,day)的元组,(2017, 15, 6)

4.datetime.date.isoformat():返回格式如YYYY-MM-DD

5.datetime.date.isoweekday():返回给定日期的星期(0-6),星期一=0,星期日=6

6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期

7.datetime.date.strftime(format):把日期时间按照给定的format进行格式化。

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

time.struct_time(tm_year=2017, tm_mon=4, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=105, tm_isdst=-1)

9.datetime.date.weekday():返回日期的星期

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

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

二、看一下datetime的time类

time类有5个参数,datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:30

1.datetime.time.replace()

2.datetime.time.strftime(format):按照format格式返回时间

3.datetime.time.tzname():返回时区名字

4.datetime.time.utcoffset():返回时区的时间偏移量

三、datetime的datetime类

datetime类有很多参数,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]),返回年月日,时分秒

datetime.datetime.ctime()

datetime.datetime.now().date():返回当前日期时间的日期部分

datetime.datetime.now().time():返回当前日期时间的时间部分

datetime.datetime.fromtimestamp()

datetime.datetime.now():返回当前系统时间

datetime.datetime.replace()

datetime.datetime.strftime():由日期格式转化为字符串格式

datetime.datetime.now().strftime('%b-%d-%Y %H:%M:%S')

'Apr-16-2017 21:01:35'

datetime.datetime.strptime():由字符串格式转化为日期格式

datetime.datetime.strptime('Apr-16-2017 21:01:35', '%b-%d-%Y %H:%M:%S')
2017-04-16 21:01:35
四、datetime的timedelta类

datetime.datetime.timedelta用于计算两个日期之间的差值,例如:

>>> a=datetime.datetime.now()
>>> b=datetime.datetime.now()
>>> a
datetime.datetime(2017, 4, 16, 21, 21, 20, 871000)
>>> b
datetime.datetime(2017, 4, 16, 21, 21, 29, 603000)
>>> b-a
datetime.timedelta(0, 8, 732000)
>>> (b-a).seconds
8

或者

time1 = datetime.datetime(2016, 10, 20)
time2 = datetime.datetime(2015, 11, 2)
"""计算天数差值"""
print(time1-time2).days

"""计算两个日期之间相隔的秒数"""
print (time1-time2).total_seconds()
Python 相关文章推荐
python实现的简单文本类游戏实例
Apr 28 Python
对python中的xlsxwriter库简单分析
May 04 Python
Python continue继续循环用法总结
Jun 10 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
python调用webservice接口的实现
Jul 12 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
Numpy数组的广播机制的实现
Nov 03 Python
python 实现简易的记事本
Nov 30 Python
Python中标准模块importlib详解
Apr 16 #Python
Python 实现随机数详解及实例代码
Apr 15 #Python
Python 列表(List) 的三种遍历方法实例 详解
Apr 15 #Python
Python生成随机数组的方法小结
Apr 15 #Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
Apr 15 #Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
Apr 15 #Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 #Python
You might like
最小化数据传输――在客户端存储数据
2006/10/09 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
JavaScript 动态创建VML的方法
2009/10/14 Javascript
Aptana调试javascript图解教程
2009/11/30 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
关于python多重赋值的小问题
2019/04/17 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
先进德育工作者事迹材料
2014/01/24 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
小学运动会口号
2014/06/07 职场文书
单位委托书怎么写
2014/08/02 职场文书
自我查摆剖析材料
2014/10/11 职场文书
先进集体申报材料
2014/12/25 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书