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实现合并字典的方法
Jul 07 Python
Python实现批量下载图片的方法
Jul 08 Python
python:socket传输大文件示例
Jan 18 Python
socket + select 完成伪并发操作的实例
Aug 15 Python
python机器学习库常用汇总
Nov 15 Python
基于python 二维数组及画图的实例详解
Apr 03 Python
python多线程抽象编程模型详解
Mar 20 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
Python urlopen()参数代码示例解析
Dec 10 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 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/10/09 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
JavaScript中的比较操作符>、=、
2014/12/31 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
小程序转发探索示例
2019/02/19 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
快速了解Python中的装饰器
2018/01/11 Python
python2.7实现爬虫网页数据
2018/05/25 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python创造虚拟环境方法总结
2019/03/04 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
解决c++调用python中文乱码问题
2020/07/29 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
邹越感恩父母演讲稿
2014/08/28 职场文书
云台山导游词
2015/02/03 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
python实现批量移动文件
2021/04/05 Python
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python