表示时间的方式:
1. 时间戳
time.time() 相对于1970年1月1日的时间,单位秒
2. 格式化时间字符串
“yyyy-mm-dd”or “yyyymmdd” 可通过time中的strptime转换 time.strptime(str,format) 结果为元祖类型,详情见3.元祖
3. 元祖(struct_time)
时间的对象表示模式,包含:tm_year 年, tm_mon 月,tm_mday 日, tm_hour 时,tm_min 分,tm_sec 秒,tm_wday 星期 0-6 ,tm_yday 第几天 1-366,tm_isdst 是否夏令时
Eg:eg_time =time.strptime(“20120331”, “%Y%m%d”)
eg_time.tm_year 为2012,获取对象的年
4.datetime, date, time
此三个类型均为datetime 模块中的三个时间类型
datetime:时间的对象表示:和元祖类似 包含 year 年,month 月,day 日,hour 时 minute 分,second 秒(可无),microsecond 微妙(可无)
now_datetime = datetime.datetime.now() 获取当前时间,包含微妙
eg_datetime = datetime.datetime(yyyy, mm, dd) 最小参数个数,三个,默认年月日 初始化出对象缺失 秒,微妙
date:日期表示类型,相对datetime缺失小时 及之后的字段
time:时间类型,相对datetime缺失 年月日
时间表示方式直接的相关方法及转换
获取当前时间方式:
time.time() 当前时间的时间戳
time.localtime() 当地时间的时间元祖对象 经过时区转换
time.gmtime() GMT的时间元祖对象获取当前GMT时间
datetime.datetime.today() 获取当前日期 类型datetime类型 但在做相关运算时会忽略时分秒,这点需注意
datetime.datetime.now() 获取当前时间 类型datetime类型
转换成时间戳:
time.mktime(time.localtime())
time.mktime(time.gmtime())
time.mktime(datetime.datetime.today().timetuple())
time.mktime(datetime.datetime.now().timetuple())
转换成字符串
time.strftime(“%Y%m%d”,time.localtime())
datetime.datetime.now().strftime(“%Y%m%d”) 详情参数请google,^_^
字符串转换为时间对象
time.strptime(string, format)
无直接将字符串转换成datetime的方法
可利用元祖中间转换datetime.datetime(time.strptime(string,format)[:6])