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中pass语句用法实例分析
Apr 30 Python
python 实现红包随机生成算法的简单实例
Jan 04 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
python后端接收前端回传的文件方法
Jan 02 Python
python制作抖音代码舞
Apr 07 Python
python实现复制大量文件功能
Aug 31 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
django之从html页面表单获取输入的数据实例
Mar 16 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
Opencv python 图片生成视频的方法示例
Nov 18 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中this,self,parent的区别详解
2013/06/08 PHP
使用php清除bom示例
2014/03/03 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
人生苦短我用python python如何快速入门?
2018/03/12 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
Python下简易的单例模式详解
2019/04/08 Python
Python 3 判断2个字典相同
2019/08/06 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
环境工程求职简历的自我评价范文
2013/10/24 职场文书
优质服务口号
2014/06/11 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
通知的格式范文
2015/04/27 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python