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 相关文章推荐
解决pandas 作图无法显示中文的问题
May 24 Python
numpy.std() 计算矩阵标准差的方法
Jul 11 Python
python实现键盘控制鼠标移动
Nov 27 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
妙用itchat! python实现久坐提醒功能
Nov 25 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
Python中免验证跳转到内容页的实例代码
Oct 23 Python
call在Python中改进数列的实例讲解
Dec 09 Python
用python批量解压带密码的压缩包
May 31 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
bootstrap table操作技巧分享
2017/02/15 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
Python中变量交换的例子
2014/08/25 Python
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Django中url的反向查询的方法
2018/03/14 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
Python 实现进度条的六种方式
2021/01/06 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
关于梦想的演讲稿
2014/05/05 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
教导处教学工作总结
2015/08/12 职场文书
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android
python绘制云雨图raincloud plot
2022/08/05 Python