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编写vim插件的简单示例
Apr 17 Python
python和ruby,我选谁?
Sep 13 Python
Python实现GUI学生信息管理系统
Apr 05 Python
python实现读取大文件并逐行写入另外一个文件
Apr 19 Python
pycharm 在windows上编辑代码用linux执行配置的方法
Oct 27 Python
对python自动生成接口测试的示例讲解
Nov 30 Python
Python离线安装PIL 模块的方法
Jan 08 Python
python中时间模块的基本使用教程
May 14 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
opencv之为图像添加边界的方法示例
Dec 26 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
这样写python注释让代码更加的优雅
Jun 02 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
PHP 字符串操作入门教程
2006/12/06 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
PHP里的单例类写法实例
2015/06/25 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python文件操作基本流程代码实例
2017/12/11 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
python数据归一化及三种方法详解
2019/08/06 Python
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
广告学专业毕业生自荐信
2013/09/24 职场文书
外贸销售员求职的自我评价
2013/11/23 职场文书
求职简历推荐信范文
2013/12/02 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
重阳节标语大全
2014/10/07 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python
JavaScript实例 ODO List分析
2022/01/22 Javascript
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
python内置模块之上下文管理contextlib
2022/06/14 Python