众所皆知,每一个编程语言都有自己的时间类库,python也不例外用法十分简单
最基本的类,time类
time基本函数介绍
import timeprint time.asctime() #如果未传入一个tuple或一个time_struct就是使用当前的时间,返回一个24字长的时间字符串 就这个Mon Feb 20 19:41:22 2017print time.time() # 毫秒值print time.ctime() # 当前的时间字符串print time.clock() # 当前cpu的时钟print time.gmtime() # 当前的国际时间print time.localtime() #当前的时区时间time.sleep(0.1) #可以使当前的线程睡眠的秒数,可以精确到毫秒至少,更多的没测试了print time.mktime(time.localtime()) # 将一个time_struct 转换成对应的毫秒值# time struct # time.struct_time(tm_year=2017, tm_mon=2, tm_mday=20, tm_hour=11, tm_min=21, tm_sec=31, # tm_wday=0, tm_yday=51, tm_isdst=0)# 从年 , 月, 日, 时,分,秒# 对应 tm_year , tm_mon , tm_mday , tm_min , tm_sec , tm_wday,tm_yday,tm_isdst# 可以直接配合time.lcoaltime()获取time_struct 然后获得某一属性t = time.localtime()print t.tm_mday# 格式化的时间# strftime() 是将我们的time_struct(gmtime , localtime)转换成对应格式的字符串print time.strftime("%Y %m %d",time.localtime())# 对应的字母例举几种例子,详情去看api ,%Y对应年 %m 对应月 %d对应天 %H对应小时 %M对应分钟 %S对应秒# strptime() 是将我们的字符串的时间按照一点的格式变换成对应的time_structprint time.strptime("2017 2/20 19:49:20","%Y %m/%d %H:%M:%S")
个人认为比较常用的函数是time , sleep(可以做定时任务), localtime , strftime , strptime
在此上面的datetime中的datetime , date , time, timedelta就一起讲了,因为他们几个很相似,此处不涉及calendar。
#%%import timefrom datetime import timedelta , date , datetime#%%delta1 = timedelta(days=1,seconds=10) #初始化可以使用days,weeks,hours,seconds,minutes,microseconds等多种单位delta2 = timedelta(days=9)print delta2 - delta1print delta1 + delta2# date类today = date.today() # 返回今天的日期print todayyesterday = today - delta1 # 注意此处的时间类可以相减就可以得到昨天的日期print yesterday# 时间之间是可以比较的,date , datetime , time 之间都可以if today > yesterday: print 'yes'else: print 'no'obj = date(year=2015,month=8,day=12) # date的构造函数obj = date.fromtimestamp(time.time()) # 从毫秒值构造yigedate对象# datetime类具有详细的时间,其实datetime中也有一个time类,但是这边大同小异就不列举了obj = datetime(year=2016,month=6,day=1,hour=20,minute=20,second=13,microsecond=13) # datetime的构造函数obj = datetime.fromtimestamp(time.time()) # 从毫秒值构造obj = datetime.today() # 今天obj = datetime.now() # 当前时间# 同样的,date,datetime,time都具有strftime ,strptime这两个格式化的时间输出。# 如果需要使用datetime,date的毫秒值,可以使用time.mktime(date.timetuple()) # 获得当前date对象的time_struct对象然后转换成对应的毫秒值