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基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
Python数据集切分实例
Dec 08 Python
Python  Django 母版和继承解析
Aug 09 Python
Django stark组件使用及原理详解
Aug 22 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
django项目中新增app的2种实现方法
Apr 01 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
基于Python实现流星雨效果的绘制
Mar 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小偷相关截取函数备忘
2010/11/28 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php计算title标题相似比的方法
2015/07/29 PHP
提高php编程效率技巧
2015/08/13 PHP
Yii rules常用规则示例
2016/03/15 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
js打造数组转json函数
2015/01/14 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
Python字符转换
2008/09/06 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python实现密码薄文件读写操作
2019/12/16 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
在校生自我鉴定
2014/01/23 职场文书
投诉信格式范文
2015/07/02 职场文书
保护动物的宣传语
2015/07/13 职场文书
golang 实现并发求和
2021/05/08 Golang
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python