Python日期的加减等操作的示例


Posted in Python onAugust 15, 2017

本文介绍了Python日期的加减等操作的示例,分享给大家,也给自己留个笔记

1. 日期输出格式化

所有日期、时间的api都在datetime模块内。

1. datetime => string

now = datetime.datetime.now()
now.strftime('%Y-%m-%d %H:%M:%S')
#输出2012-03-05 16:26:23.870105

strftime是datetime类的实例方法。

2. string => datetime

t_str = '2012-03-05 16:26:23'
d = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')

strptime是datetime类的静态方法。

2. 日期比较操作

在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。

构造方法:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

所有的参数都有默认值0,这些参数可以是int或float,正的或负的。

可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。

timedelta类的实例,支持加、减、乘、除等操作,所得的结果也是timedelta类的实例。比如:

year = timedelta(days=365)
ten_years = year *10
nine_years = ten_years - year

同时,date、time和datetime类也支持与timedelta的加、减运算。

datetime1 = datetime2 +/- timedelta
timedelta = datetime1 - datetime2

这样,可以很方便的实现一些功能。

1. 两个日期相差多少天。

d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print delta.days

输出:3

2. 今天的n天后的日期。

now = datetime.datetime.now()
delta = datetime.timedelta(days=3)
n_days = now + delta
print n_days.strftime('%Y-%m-%d %H:%M:%S')

输出:2012-03-08 17:44:50 

#coding=utf-8
import datetime
now=datetime.datetime.now()
print now
#将日期转化为字符串 datetime => string
print now.strftime('%Y-%m-%d %H:%M:%S')

t_str = '2012-03-05 16:26:23'
#将字符串转换为日期 string => datetime
d=datetime.datetime.strptime(t_str,'%Y-%m-%d %H:%M:%S')
print d

#在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日#期或者时间的差别。

#计算两个日期的间隔
d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print delta.days
print delta

#今天的n天后的日期。
now=datetime.datetime.now()
delta=datetime.timedelta(days=3)
n_days=now+delta
print n_days.strftime('%Y-%m-%d %H:%M:%S')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用装饰器时需要注意的一些问题
May 11 Python
python中requests小技巧
May 10 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
Django处理文件上传File Uploads的实例
May 28 Python
Python 字符串换行的多种方式
Sep 06 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
Oct 31 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
Oct 01 Python
pygame实现非图片按钮效果
Oct 29 Python
Python assert关键字原理及实例解析
Dec 13 Python
Python参数传递及收集机制原理解析
Jun 05 Python
python 基于opencv操作摄像头
Dec 24 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 #Python
Python对列表中的各项进行关联详解
Aug 15 #Python
浅析Python中的赋值和深浅拷贝
Aug 15 #Python
Python单例模式的两种实现方法
Aug 14 #Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 #Python
python使用super()出现错误解决办法
Aug 14 #Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 #Python
You might like
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
php遍历CSV类实例
2015/04/14 PHP
twig模板常用语句实例小结
2016/02/04 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
深入浅析javascript继承体系
2017/10/23 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
Python机器学习logistic回归代码解析
2018/01/17 Python
代码分析Python地图坐标转换
2018/02/08 Python
python安装教程
2018/02/28 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
Python requests获取网页常用方法解析
2020/02/20 Python
python 模拟登录B站的示例代码
2020/12/15 Python
网络专业学生个人的自我评价
2013/12/16 职场文书
我爱读书演讲稿
2014/05/07 职场文书
养牛场项目建议书
2014/05/13 职场文书
工作表扬信范文
2015/01/17 职场文书
红旗渠导游词
2015/02/09 职场文书
西安大雁塔导游词
2015/02/10 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
大学军训心得体会800字
2016/01/11 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
vue 自定义组件添加原生事件
2022/04/21 Vue.js
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android