python日期相关操作实例小结


Posted in Python onJune 24, 2019

本文实例讲述了python日期相关操作。分享给大家供大家参考,具体如下:

用 Python 做项目时,经常会遇到与日期转换相关,日期计算相关的功能,动不动就要去查python手册,感觉麻烦,因此把自己常用的一些东西,总结了一下,总体说来到目前为止遇到如下一些需求:

1. 用python 把datetime转成字符串
2. 用python 把字符串转成datetime
3. 用python 把字符串转成时间戳形式
4. 用python 把时间戳转成字符串形式
5. 用python 把把datetime类型转外时间戳形式
6. 用python 计算两个日期之间的差
7. 用python 计算两个日期的 timestamp 差值
8. 用python 比较两个日期的大小
9. 指定日期加上 一个时间段,天,小时,或分钟之后的日期

下面是测试代码:

#coding:utf-8
'''
base on python 2.7
Created on 2012-12-14
@author: yiahomen.com
'''
import datetime
import time
def datetime_toString(dt):
  """把datetime转成字符串"""
  return dt.strftime("%Y-%m-%d")
def string_toDatetime(string):
  """把字符串转成datetime"""
  return datetime.datetime.strptime(string, "%Y-%m-%d")
def string_toTimestamp(strTime):
  """把字符串转成时间戳形式"""
  return time.mktime(string_toDatetime(strTime).timetuple())
def timestamp_toString(stamp):
  """把时间戳转成字符串形式"""
  return time.strftime("%Y-%m-%d-%H", time.localtime(stamp))
def datetime_toTimestamp(dateTime):
  """把datetime类型转外时间戳形式"""
  return time.mktime(dateTime.timetuple())
def substract_DateTime(dateStr1,dateStr2):
  """ 返回两个日期之间的差 """
  d1=string_toDatetime(dateStr1)
  d2=string_toDatetime(dateStr2)
  return d2-d1
def substract_TimeStamp(dateStr1,dateStr2):
  """ 两个日期的 timestamp 差值 """
  ts1= string_toTimestamp(dateStr1)
  ts2= string_toTimestamp(dateStr2)
  return ts1-ts2
def compare_dateTime(dateStr1,dateStr2):
  """两个日期的比较, 当然也可以用timestamep方法比较,都可以实现."""
  date1 = string_toDatetime(dateStr1)
  date2 = string_toDatetime(dateStr2)
  return date1.date()>date2.date()
def dateTime_Add(dateStr,days=0,hours=0,minutes=0):
  """ 指定日期加上 一个时间段,天,小时,或分钟之后的日期 """
  date1= string_toDatetime(dateStr)
  return date1+datetime.timedelta(days=days,hours=hours,minutes=minutes)
if __name__=='__main__':
  print substract_DateTime('2012-12-12','2012-01-01')
  #-346 days, 0:00:00
  print substract_DateTime('2012-12-12','2012-01-01').days
  #-346
  print substract_TimeStamp('2012-12-12','2012-01-01')
  #29894400.0
  print substract_TimeStamp('2012-12-12','2012-01-01')/(24*60*60),'天'
  #346.0 天
  print compare_dateTime('2012-12-12','2012-01-01')
  #True
  print dateTime_Add('2012-12-12',days=10,hours=5,minutes=10)
  #2012-12-22 05:10:00

备注:根据当前日期,对年月进行加减的方法

import calendar, datetime
def increment_month(when):
  days = calendar.monthrange(when.year, when.month)[1]
  return when + datetime.timedelta(days=days)
now = datetime.datetime.now()
print 'It is now %s' % now
print 'In a month, it will be %s' % increment_month(now)

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.3water.com/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.3water.com/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
初步理解Python进程的信号通讯
Apr 09 Python
详解Python的Django框架中Manager方法的使用
Jul 21 Python
Python中enumerate函数代码解析
Oct 31 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
解决seaborn在pycharm中绘图不出图的问题
May 24 Python
Python调用服务接口的实例
Jan 03 Python
Python向excel中写入数据的方法
May 05 Python
python实现从wind导入数据
Dec 03 Python
python 实现两个线程交替执行
May 02 Python
带你学习Python如何实现回归树模型
Jul 16 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 Python
使用Python Pandas处理亿级数据的方法
Jun 24 #Python
Python3批量生成带logo的二维码方法
Jun 24 #Python
解决python文件双击运行秒退的问题
Jun 24 #Python
对python中的控制条件、循环和跳出详解
Jun 24 #Python
django框架自定义模板标签(template tag)操作示例
Jun 24 #Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 #Python
Python 循环终止语句的三种方法小结
Jun 24 #Python
You might like
PHPMailer使用教程(PHPMailer发送邮件实例分析)
2012/12/06 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
JS 的应用开发初探(mootools)
2009/12/19 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
微信公众号token验证失败解决方案
2019/07/22 Python
python的Jenkins接口调用方式
2020/05/12 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
python 爬取小说并下载的示例
2020/12/07 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
初二物理教学反思
2014/01/29 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
个人欠款担保书
2014/05/20 职场文书
安全生产承诺书范文
2014/05/22 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
Python基础详解之邮件处理
2021/04/28 Python