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使用scrapy抓取网站sitemap信息的方法
Apr 08 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 Python
Python探索之ModelForm代码详解
Oct 26 Python
python回调函数中使用多线程的方法
Dec 25 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
linux环境中没有网络怎么下载python
Jul 07 Python
Django应用程序入口WSGIHandler源码解析
Aug 05 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
Sep 25 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
Python word文本自动化操作实现方法解析
Nov 05 Python
Python图像读写方法对比
Nov 16 Python
Python中读取文件名中的数字的实例详解
Dec 25 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
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
vue复合组件实现注册表单功能
2017/11/06 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
Python正则捕获操作示例
2017/08/19 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
编写strcpy函数
2014/06/24 面试题
事业单位个人应聘自荐信
2013/09/21 职场文书
医学检验专业大学生求职信
2013/11/18 职场文书
数控专业个人求职信范例
2013/11/29 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
财务检查整改报告
2014/11/06 职场文书
房屋认购协议书
2015/01/29 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python