笔记
def getYesterday():
# 获取昨天日期的字符串格式的函数
#获取今天的日期
today = datetime.date.today()
#获取一天的日期格式数据
oneday = datetime.timedelta(days=1)
#昨天等于今天减去一天
yesterday = today - oneday
#获取昨天日期的格式化字符串
yesterdaystr = yesterday.strftime('%Y-%m-%d')
#返回昨天的字符串
return yesterdaystr
datatime
1).获取当前的时间
import datetime
print datetime.datetime.now()
2017-02-06 21:17:32.329000
2).获取当前的日期
import datetime
print datetime.date.today()
2017-02-06
3).获得离圣诞节的时间差
chrismas_day_gap=datetime.datetime(2017,12,25,0,0,0) - datetime.datetime.now()
print chrismas_day_gap
321 days, 1:39:26.341000
timedelta
1).计算当天日期,前后的100天
我们先创建一个datetime.datetime的类,并在入参数里面填入当前的时间,比如2017,2,7,然后用这个datetime object就可以愉快的进行很多操作了
d3=datetime.datetime(2017,2,7)
print d3+datetime.timedelta(days=100)
2017-05-18 00:00:00
计算100天之前是哪天,一样也很简单
d3=datetime.datetime(2017,2,7)
print d3-datetime.timedelta(days=100)
2016-10-30 00:00:00
2).计算某两个日期差多少天
d4=datetime.datetime(2017,5,1)
d5=datetime.datetime(2017,12,25)
print d5-d4
238 days, 0:00:00
虽然很方便,但是timedelta有一个很大的缺点,不支持月份,天那怎么会这样,莫慌,用神补刀dateutil模块
dateutil
dateutil是一个非常强大的模块,可以处理复杂的日期问题,比如时区,模糊时间范围,计算时间日期,下面是就是处理按月份的.
import dateutil,datetime
d1=datetime.datetime(2017,12,7)
print d1+dateutil.relativedelta.relativedelta(months=3)
2018-03-07 00:00:00
print d1-dateutil.relativedelta.relativedelta(months=20)
2016-04-07 00:00:00python
中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
转换函数:strftime()
1).把字符串转日期:
from datetime import datetime
cday = datetime.strptime('2017-2-6 18:19:59', '%Y-%m-%d %H:%M:%S')
print cday,type(cday)
2017-02-06 18:19:59,<type ‘datetime.datetime’>
转成了一个datetime的类了
2).把日期转字符串
from datetime import datetime
now = datetime.now()
print(now.strftime('%a, %b %d %H:%M'))
Tue, Feb 07 22:34