python日期相关操作实例小结
作者:轻舞肥羊 发布时间:2021-07-14 18:39:13
标签:python,日期
本文实例讲述了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.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历:
http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
希望本文所述对大家Python程序设计有所帮助。
来源:http://www.yihaomen.com/article/python/330.htm


猜你喜欢
- 我们可以通过更改注册表来解决这个问题: 打开注册表,进入到[HKEY_USERS\.DEFAULT\Control Panel\Intern
- 本文回答了如下问题:“MySQL服务器有多稳定?”,以及“在本项目中我能依靠My
- 一、INSERT语句中有反斜杠(\)1. 实际测试咱们用下面这些SQL来测试一下反斜杠(\)在INSERT语句中会是啥样?INSERT IN
- Wingdings字体,Symbol字体<html> <head> <title>
- 一、token是什么 Token: 访问资源的凭证。一般用户通过用户名密码登录后,服务端会将登录凭证做数字签名,加密之后的字符串作
- 上篇博文我们实现了两百行代码实现贪吃蛇游戏,这次我们来实现一个代码量更加少,功能却更加完整的python代码实现贪吃蛇游戏,具体代码与文件可
- 本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写。首先我们需要了解点ORM方面的知识ORM技术对象关系映射技术
- 第一章:连接 FTP 服务器并实现文件夹下载① 连接 FTP 服务器如果 FTP 不用用户名密码就直接可以访问,那就是用的默认用户名 Ano
- sql语句中默认是不区分大小写的,所以语句: Sql代码 SELECT * FROM RecEngineBizInfo WHERE RecE
- 贪心算法贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意
- 本文实例讲述了mysql实现设置定时任务的方法。分享给大家供大家参考,具体如下:今天遇到了个需要每天定时执行的任务,在mysql数据库里面提
- 分形,具有以非整数维形式充填空间的形态特征。通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后
- MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理
- 这几天正在追剧,原名《大秦帝国之天下》的《大秦赋》,看着看着又想把前几部刷一遍了,但第一部《裂变》自己没有高清资源,搜了一波发现yout
- 继承是面向对象编程的一个重要的方式,通过继承,子类就可以扩展父类的功能。在python中一个类能继承自不止一个父类,这叫做python的多重
- 1. IO多路复用O多路复用技术是使用一个可以同时监视多个IO阻塞的中间人去监视这些不同的IO对象,这些被监视的任何一个或多个IO对象有消息
- 优化前后新老代码如下:from git_tools.git_tool import get_collect_projects, QQNews
- 前言emmm…9月1日开学季,手头只有红底证件照,但是学院要求要蓝底,这可咋办呢。懒得下ps了。自己撸起来吧。方法一:
- 一、建立一个空白的解决方案,名称为“SpringDotNot”二、新建一个类库项目:IBLL在IBL
- SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它