python-时间模块
Posted 红豆·
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-时间模块相关的知识,希望对你有一定的参考价值。
在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。
1)time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。
2)time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。
3)time.time():返回当前时间的时间戳。
4)time.mktime(t):将一个struct_time转化为时间戳。
5)time.sleep(secs):线程推迟指定的时间运行。单位为秒。
6)time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:‘Sun Jun 20 23:21:05 1993‘。如果没有参数,将会将time.localtime()作为参数传入。
7)time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。
8)time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。
time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
9)time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。
datetime
date类: datetime.date(year,month,day)
print
(datetime.
date
.max) 对象所能表示的最大日期(9999-12-31)
print
(datetime.
date
.min) 对象所能表示的最小日期(0001-01-01
print
(datetime.
date
.today()) 今天日期
print
(datetime.
date
.resolution) date对象表示日期的最小单位(天)
print
(datetime.
date
.fromtimestamp(time.time()+3600000)) 给定时间戳的 日期
print
(datetime.
date
.today().year) 本地时间的年
print
(datetime.
date
.today().replace(year=2019)) 生成并返回一个新的日期对象,原日期对象不变
print
(datetime.
date
.today().timetuple()) 返回日期对应的时间元组(time.struct_time)对象
print
(datetime.
date
.today().toordinal()) 返回日期是自0001-01-01开始的第多少天
print
(datetime.
date
.today().weekday()) 返回日期是星期几,[0,6],0表示星期一,1表示星期二
print
(datetime.
date
.today().isoweekday()) 返回日期是星期几,[1,7],1表示星期一,2表示星期二
print
(datetime.
date
.today().isocalendar()) 返回格式为(year,weekday,isoweekday)的元组
print
(datetime.
date
.today().isoformat()) 返回‘YYYY-MM-DD’格式的日期字符串
print
(datetime.
date
.today().
strftime
(
‘%Y-%m-%d-%a-%I‘
)) 自定义格式化字符串(和time模块的strftime()方法相同)
time类:time类和time模块各自独立 datetime.time(hour[,minute[,decond[,microsecond[,tzinfo]]]])
time.max 最大时间
time.min 最小时间
time.solution 时间的最小单位
datetime类: datetime.datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]])
datetime.resolution datetime对象所表示日期的最小单位,1微秒
datetime.today() 返回当前本地日期时间
datetime.now([tz]) 返回当前本地时间,如果指定tz,则返回tz时区当地时间
datetime.utcnow() 返回当前UTC时间
datetime.fromtimestamp(timestamp[,tz]) 根据给定的时间戳返回datetime对象,如果指定tz,则返回tz时区datetime对象
datetime.strftime(date_string,format) 将格式化字符串转换为datetime对象
dt.year dt.month dt.day |
年 月 日 |
dt.hour dt.minute dt.second |
时 分 秒 |
dt.microsecond | 微妙 |
dt.tzinfo | 时区信息 |
dt.date() | 获取dt的date对象 |
dt.time() | 获取dt的time对象,tzinfo 为none |
dt.timetz() | 获取dt的time对象,tzinfo 为与datetime的tzinfo相同 |
dt.replace() | 指定参数替代(年,月,日,时,分,秒,微妙,时区),生成并返回新对象 |
dt.timetuple() | 返回日期时间对应的时间元组(time.struct_time)(不包括tzinfo) |
dt.utctimetuple() | 返回UTC时间对应的时间元组(不包括tzinfo) |
dt.timestamp() | 返回dt对象对应的时间戳 |
dt.toordinal() | 返回日期是是自 0001-01-01 开始的第多少天(与date类相同) |
dt.weekday() | 返回日期是星期几,[1, 7], 1表示星期一(与date类相同) |
dt.isocalendar() | 返回格式如(year,month,day)的时间元组(与date类相同) |
dt.isoformat() | 返回格式如‘YYYY-MM-DD HH:MM:SS‘的字符串 |
dt.ctime() | 等价与time模块的time.ctime(time.mktime(d.timetuple())) |
dt.strftime() | 返回指定格式的时间字符串 |
timedelta类:datetime.timedalta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0 ,hours=0,weeks=0)
datetime.datetime.now()+datetime.timedelta(hours=3)
以上是关于python-时间模块的主要内容,如果未能解决你的问题,请参考以下文章
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段