莫愁前路无知己,天下谁人不识君。。。。

python 小知识1-------datetime、timedelta

上一篇 / 下一篇  2017-09-13 09:09:23 / 个人分类: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')# 还可以加上时分秒的格式
获取当前时间:
import time
p1 = time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))
p2 = time.strftime("%Y-%m-%d %H:%M", time.localtime())
前5分钟
t = time.localtime(time.time() - 300)
print time.strftime("%Y-%m-%d %H:%M", t)
a = time.time() - 300
b = time.strftime('%Y-%m-%d %H:%M',time.localtime(a))
计算上个月的月份
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()


''''' 日期相关的操作 '''    
from datetime import datetime 
from datetime import timedelta   
DATE_FMT = '%Y-%m-%d' 
DATETIME_FMT = '%Y-%m-%d %H:%M:%S' 
DATE_US_FMT = '%d/%m/%Y'    
'''''
格式化常用的几个参数
Y : 1999
y :99
m : mouth 02 12 
M : minute 00-59
S : second
d : day
H : hour
''' 
def dateToStr(date): 
    '''''把datetime类型的时间格式化自己想要的格式''' 
    return datetime.strftime(date, DATETIME_FMT)  
def strToDate(strdate): 
    '''''把str变成日期用来做一些操作''' 
    return datetime.strptime(strdate, DATETIME_FMT)    
def timeElement(): 
    '''''获取一个时间对象的各个元素''' 
    now = datetime.today() 
    print 'year: %s  month: %s  day: %s' %(now.year, now.month, now.day) 
    print 'hour: %s  minute: %s  second: %s' %(now.hour, now.minute, now.second) 
    print 'weekday: %s ' %(now.weekday()+1)  #一周是从0开始的   
def timeAdd(): 
    '''''
    时间的加减,前一天后一天等操作 
    datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]) 
    参数可以是正数也可以是负数 
    得到的对象可以加也可以减 乘以数字和求绝对值
    ''' 
    atime = timedelta(days=-1) 
    now = datetime.strptime('2001-01-30 11:01:02', DATETIME_FMT) 
    print now + atime 
    print now - abs(atime) 
    print now - abs(atime)*31  
import calendar 
def lastFirday(): 
     today = datetime.today() 
     targetDay = calendar.FRIDAY 
     thisDay = today.weekday() 
     de = (thisDay - targetDay) % 7 
     res = today - timedelta(days=de) 
     print res         
def test(): 
    #print dateToStr(datetime.today()) 
    #print strToDate('2013-01-31 12:00:01') 
    #timeElement() 
    #timeAdd() 
    #lastFirday() 
if __name__=='__main__': 
    test()

TAG: Python time

 

评分:0

我来说两句

Open Toolbar