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的dict字典结构操作方法学习笔记
May 07 Python
python遍历文件夹下所有excel文件
Jan 03 Python
Linux下python3.7.0安装教程
Jul 30 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
对Django中内置的User模型实例详解
Aug 16 Python
Django框架 信号调度原理解析
Sep 04 Python
python正则表达式实例代码
Mar 03 Python
浅谈matplotlib.pyplot与axes的关系
Mar 06 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
python 用struct模块解决黏包问题
Nov 07 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
示例详解Laravel的注册重构
2016/08/14 PHP
DWR Ext 加载数据
2009/03/22 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
原生js实现轮播图
2017/02/27 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
JavaScript如何操作css
2020/10/24 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
护理专业自荐书
2014/06/04 职场文书
作风建设年度心得体会
2014/10/29 职场文书
公司感谢信范文
2015/01/22 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
2015年度女工工作总结
2015/10/22 职场文书
高中化学教学反思
2016/02/22 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python
MySQL优化之慢日志查询
2022/06/10 MySQL
V Rising 服务器搭建图文教程
2022/06/16 Servers