python 日期相关的各种操作总结
2014-01-09 10:50
483 查看
用 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
转载自:http://www.yihaomen.com/article/python/330.htm
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
转载自:http://www.yihaomen.com/article/python/330.htm
相关文章推荐
- python 日期相关的各种操作总结
- python 日期相关的各种操作总结
- python 操作ms office 生成报告相关总结
- python文件相关操作总结
- python文件操作相关知识点总结整理
- paip.日期时间操作以及时间戳uapi php java python 总结
- paip.日期时间操作以及时间戳uapi php java python 总结
- 对Java日期类型的相关操作总结
- 五、python日期相关的操作
- python文件操作相关知识点总结整理
- 五、python日期相关的操作
- python中常用日期操作总结
- python 文件操作相关函数用法总结
- 关于ios中日期相关操作的总结(获取当天日期,n天后日期,当天以后一周以内的日期等)
- 有关UNICODE、ANSI字符集和相关字符串操作的总结
- 使用Python对MySQL进行相关操作
- 关于文件流的阅读笔记(文件操作相关总结) [[ 应用过 ]]
- Python字符串和字典相关操作
- c++日期和时间相关操作-<time.h>(ctime)
- Android Matrix相关操作总结