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中Continue语句的用法的举例详解
May 14 Python
Python加pyGame实现的简单拼图游戏实例
May 15 Python
Python处理JSON数据并生成条形图
Aug 05 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
Python入门学习指南分享
Apr 11 Python
Python 实现中值滤波、均值滤波的方法
Jan 09 Python
python3中eval函数用法使用简介
Aug 02 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
Python发送邮件封装实现过程详解
May 09 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 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开发Apache服务器配置
2015/07/15 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
JS求平均值的小例子
2013/11/29 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
vue实现分页加载效果
2019/12/24 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
Windows下python2.7.8安装图文教程
2016/05/26 Python
python 全局变量的import机制介绍
2017/09/07 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
python怎么调用自己的函数
2020/07/01 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
前台接待的工作职责
2013/11/21 职场文书
函授生自我鉴定
2014/03/25 职场文书
软件项目实施计划书
2014/05/02 职场文书
工作推荐信范文
2014/05/10 职场文书
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL