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实现百度关键词排名查询
Mar 30 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
python对文件的操作方法汇总
Feb 28 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
Apr 02 Python
Python正则表达式高级使用方法汇总
Jun 18 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
能让Python提速超40倍的神器Cython详解
Jun 24 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
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
学习php开源项目的源码指南
2014/12/21 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
python判断字符串是否纯数字的方法
2014/11/19 Python
Python httplib模块使用实例
2015/04/11 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
python在非root权限下的安装方法
2018/01/23 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
建议书怎么写
2014/03/12 职场文书
绿色出行口号
2014/06/18 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis