time
time 模块解决了时间的获取和表示
timestamp(epoch到现在的秒数,用浮点数表示)
time.time() # UTC 表示的时间
返回时间元组(tupletime/struct_time)
time.gmtime(t) # UTC 表示时间
time.localtime(t) # 所在时区转换后的时间
时间元组转换成 timestamp
calendar.timegm(tupletime) # gmtime(t) 返回的对象
time.mktime(tupletime) # time.localtime(t) 返回的对象
时间和字符串的转换
time.strftime(fmt[,tupletime]) # 即 string format time,用来将时间格式化成字符串
time.strptime(str,fmt=’format’) # 即 string parse time,用来将字符串解析成时间(tupletime)
time.asctime([tupletime]) # 将一个tupletime对象转为标准24字符的字符串: Sun Jun 20 23:21:05 1993
time.ctime([secs]) # 作用相当于asctime(localtime(secs))
datetime
datetime 模块则解决了快速获取并操作年月日时分秒
内部包含五个类:date、time、datetime,timedelta、tzinfo
datetime.datetime
datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= number of days in the given month and year
0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 1000000
类属性: min,max,resolution # min即为MINYEAR,max即为MAXYEAR
类方法:
- today()
- now([tz])
- utcnow()
- fromtimestamp(timestamp[,tz])
- utcfromtimestamp(timestamp)
- trptime(date_string, format)
实例属性(只读):year,month,day,hour,minute,second,microsecond,tzinfo
实例方法:
- date()
- time() # 返回datetime.time对象,tzinfo=None
- timetz() # 返回完整datetime.time对象
- replace(year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) # 时间替换
- astimezone(tz) # 时区转换
- utcoffset()
- timetuple() # 返回 time.localtime() 类型对象
- utctimetuple()
- strftime(format) # 格式化时间
对象运算操作:
datetime2 = datetime1 + timedelta
datetime2 = datetime1 - timedelta
timedelta = datetime1 - datetime2
datetime1 < datetime2
datetime.date
datetime.date(year, month, day)
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= number of days in the given month and year
类方法:
- today() # return local date, 相当于
- date.fromtimestamp(time.time())
- fromtimestarmp(timestamp)
- fromordinal(ordinal)
类属性: min,max,resolution
实例方法:
- replace(year, month, day)
- timetuple()
- toordinal()
- weekday()
- isoweekday()
- isocalendar()
- isoformat()
- ctime()
- strftime()
实例属性:year, month, day
运算方法:
date2 = date1 + timedelta
date2 = date1 - timedelta
timedelta = date1 - date2
date1 < date2
datetime.time
datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]])
0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 1000000.
类属性: min,max,resolution
实例属性(只读):hour,minute,second,microsecond,tzinfo
实例方法:
- replace([hour[, minute[, second[, microsecond[, tzinfo]]]]])
- isoformat()
- strftime(format)
- utcoffset()
- dst()
- tzname()
datetime.timedelta
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
0 <= microseconds < 1000000
0 <= seconds < 3600*24 (the number of seconds in one day)
-999999999 <= days <= 999999999
运算规则:
t1 = t2 + t3
t1 = t2 - t3
t1 = t2 * i or t1 = i * t2
t1 = t2 // i
+t1
-t1
abs(t)
str(t)
repr(t)