datetime库
datetime主要用来处理时间日期,使用前先导入datetime库。下面是几个常用功能:
1、获取当前时间:
>>> print datetime.datetime.now()
2018-06-18 16:39:15.712000
>>> print type(datetime.datetime.now())
返回的datetime时间格式。
2、获取当前日期
>>> print datetime.datetime.now().date() 2018-06-18 >>> print type(datetime.datetime.now().date())'datetime.date'>
3、获取当前时间tuple
>>> datetime.datetime.now().timetuple() time.struct_time(tm_year=2018, tm_mon=6, tm_mday=18, tm_hour=16, tm_min=51, tm_sec=26, tm_wday=4, tm_yday=198, tm_isdst=-1) >>> datetime.datetime.now().timetuple().tm_mday 18
4、时间移动(几天、几小时前后...)
使用datetime.timedelta这个方法来前后移动时间,可用的参数有weeks,days,hours,minutes,seconds,microseconds等。
>>> print datetime.datetime.now() + datetime.timedelta(days=1) 2018-06-19 16:49:48.574000 >>> print datetime.datetime.now() + datetime.timedelta(hours=1) 2018-06-18 17:49:57.122000 >>> print datetime.datetime.now() + datetime.timedelta(minutes=-30) 2018-06-18 16:20:08.619000
例如:求上个月最后一天(从这个月第一天让时间向前减一天)
>>> print datetime.date(day=1,month=datetime.date.today().month,year=datetime.date.today().year) - datetime.timedelta(days=1) 2018-05-31
5、获取两个时间的时间差(now是本地时间,可以认为是你电脑现在的时间;utcnow是世界时间<时区不同,所以这两个时间也是有所不同>)
>>> (datetime.datetime.now() - datetime.datetime.utcnow()).total_seconds()
28800.0
6、时间转化
datetime转str格式:
>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") '2018-06-18 16:58:46'
str格式转datetime格式:
>>> print datetime.datetime.strptime("2018-06-18 16:58:46","%Y-%m-%d %H:%M:%S") 2018-06-18 16:58:46 >>> print type(datetime.datetime.strptime("2018-06-18 16:58:46","%Y-%m-%d %H:%M:%S"))'datetime.datetime'>
Python 中datetime库API链接:https://docs.python.org/2/library/datetime.html
补充其他常用函数:
①:date.isocalendar() #返回结果是三元组(年号,第几周,第几天)
print('isocalendar():', datetime.datetime.now().isocalendar()) 输出:isocalendar(): (2018, 25, 1)
②:date.strftime("%j") #计算输入的日期是一年中的第几天
input_date_str=input('请输入一个日期: ') input_date=datetime.datetime.strptime(input_date_str,'%Y-%m-%d') days=int(input_date.strftime("%j")) print(input_date_str+'是一年中的第 '+str(days)+' 天') 输出: 请输入一个日期: 2018-12-31 2018-12-31是一年中的第 365 天