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-基础-入门 简介
Aug 09 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
Python中标准模块importlib详解
Apr 16 Python
matplotlib绘制动画代码示例
Jan 02 Python
Python图像处理之gif动态图的解析与合成操作详解
Dec 30 Python
python实现微信防撤回神器
Apr 29 Python
计算机二级python学习教程(3) python语言基本数据类型
May 16 Python
numpy.random模块用法总结
May 27 Python
python实时检测键盘输入函数的示例
Jul 17 Python
python绘制玫瑰的实现代码
Mar 02 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 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.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
医药个人求职信范文
2014/01/29 职场文书
市场调查策划方案
2014/06/10 职场文书
商品陈列协议书
2014/09/29 职场文书
2014年稽查工作总结
2014/12/20 职场文书
公司会议开幕词
2015/01/29 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
基层党建工作简报
2015/07/21 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript