Python中时间的加n和减n运算
首页 > Learning > Programming   作者:eehello  2016年4月3日 21:49 星期日  浏览:5660  字号:   评论:0 条
时间:2016-4-3 21:49   浏览:5660  评论:0 条 

   好多朋友都遇到过python推算时间的问题,有些把时间转换成整数做推算,这样遇到特殊的时间和日期就会出现错误,在python中时间的推算很简单,主要就是用到datetime.timedelta方法,进行时间的加n减n运算:

>>>import datetime
>>> d1 = datetime.datetime.now()
>>> d1.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-02 17:11:07'
>>> d2 = d1 + datetime.timedelta(seconds=10)#增加10秒
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-02 17:11:17'
>>> d2 = d1 + datetime.timedelta(minutes=10)#增加10分钟
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-02 17:21:07'
>>> d2 = d1 + datetime.timedelta(hours=10)#增加10小时
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-03 03:11:07'
>>> d2 = d1 + datetime.timedelta(days=10)#增加10天
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-12 17:11:07'
>>> d2 = d1 - datetime.timedelta(seconds=10)#减去10秒
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-02 17:11:57'
>>> d2 = d1 - datetime.timedelta(minutes=10)#增加10分钟
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-02 17:01:07'
>>> d2 = d1 - datetime.timedelta(hours=10)#减去10小时
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-09-02 07:11:07'
>>> d2 = d1 - datetime.timedelta(days=10)#减去10天
>>> d2.strftime("%Y-%m-%d %H:%M:%S")
'2015-08-23 17:11:07'


实例:


python计算明天的日期:

from datetime import datetime
from datetime import timedelta
now = datetime.now()
aDay = timedelta(days=1)
now = now + aDay
print now.strftime('%Y-%m-%d')

python计算昨天时间:

from datetime import datetime
from datetime import timedelta
now = datetime.now()
aDay = timedelta(days=-1)
now = now + aDay
print now.strftime('%Y-%m-%d')

使用timedelta可以很方便的在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算,如果要计算月份则需要另外的办法


计算上个月的月份

import time
last_month = time.localtime()[1]-1 or 12
print last_month

timedelta实现日期相减

from datetime import timedelta
from datetime import datetime
import time
d1 = datetime.now()
time.sleep(10)
eclipseTimes = datetime.now() - d1
print eclipseTimes.total_seconds()


日趋函数的详细了解:


转义符对应意义如下

%a  本地简化星期名称
%A  本地完整星期名称
%b  本地简化的月份名称
%B  本地完整的月份名称
%c  本地相应的日期表示和时间表示
%d  月内中的一天(0-31)
%H  24小时制小时数(0-23)
%I  12小时制小时数(01-12)
%j  年内的一天(001-366)
%m  月份(01-12)
%M  分钟数(00=59)
%p  本地A.M.或P.M.的等价符
%S  秒(00-59)
%f  毫秒(000000-99999)
%U  一年中的星期数(00-53)星期天为星期的开始
%w  星期(0-6),星期天为星期的开始
%W  一年中的星期数(00-53)星期一为星期的开始
%x  本地相应的日期表示
%X  本地相应的时间表示
%y  两位数的年份表示(00-99)
%Y  四位数的年份表示(000-9999)
%Z  当前时区的名称
%%  %号本身



两日期相减

>>>import time
>>>import datetime
>>>d1 = datetime.datetime(2016, 4, 3)
>>>d2 = datetime.datetime(2015, 12, 26)
>>>print (d1 - d2).days   
99


 您阅读这篇文章共花了: 
 本文没有标签!
二维码加载中...
本文作者:eehello      文章标题: Python中时间的加n和减n运算
本文地址:https://www.eehello.com/?post=207
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。

返回顶部| 首页| 手气不错| 留言板|后花园

Copyright © 2014-2023 点滴记忆---观雨亭