python中time模块和datetime
time模块
一、时间的三种表示形式:
1.时间戳(time stamp):从1970年到此刻的秒数。
2.格式化的字符串(format string):支持自定义格式,如下表所示
%a |
星期几的简写,如Wed。 |
|
%A |
星期几的全写,如Wednesday。 |
|
%b |
月份简写,如Aug。 |
|
%B |
月的全写,如August。 |
|
%c |
适当的日期时间表示,如Wed Aug 15 10:36:41 2018。 |
|
%d |
十进制数的月份中的一天[01,31],如15(现在为8月15日)。 |
|
%H |
小时(24小时制)。 |
|
%I |
小时(12小时制)。 |
|
%j |
表示今天是当年的第n天。 |
|
%m |
月份。 |
|
%M |
分钟。 |
|
%p |
AM(上午)或PM(下午)。 |
(1) |
%S |
秒。 |
(2) |
%U |
表示今年的第n周,星期天是第一天。(新的一年的第一个星期天之前是第0周) |
(3) |
%w |
用十进制表示今天是星期3。 |
|
%W |
表示今年的第n周,星期一是第一天。 |
(3) |
%x |
区域设置的适当日期表示形式。(新的一年的第一个星期一之前是第0周) |
|
%X |
适宜的时间表示,如10:36:41。 |
|
%y |
无世纪年份,如18(年)。 |
|
%Y |
有世纪年份,如2018(年)。 |
|
%z |
时区偏移,表示与UTC/GMT格式+HHMM或-HHMM的正负时差,其中H表示十进制小时数,M表示十进制分钟数。 |
|
%Z |
时区名称(如果没有时区,则没有字符)。 |
|
%% |
输出% |
|
3.struct_time元祖格式,共9个元素:
tm_year :年
tm_mon :月(1-12)
tm_mday :日(1-31)
tm_hour :时(0-23)
tm_min :分(0-59)
tm_sec :秒(0-59)
tm_wday :星期几(0-6,0表示周日)
tm_yday :一年中的第几天(1-366)
tm_isdst :是否是夏令时(默认为-1)
插入一张图,表示3个表示方法之间的转换:
二、内置方法:
time.time() #获取时间戳
time.sleep(1) #停止1秒
time.gmtime() #返回一个表示utc时间(标准时间)(相对于中国早8小时)的元祖,传入时间戳转换到标准时间
time.localtime() #传入时间戳,返回本地时间。
time.localtime().tm_year #取出年份
time.mktime() #把元祖形式的转换成时间戳形式
time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) #格式化字符串表示时间
time.strptime('2018-08-14 13:35:17',"%Y-%m-%d %H:%M:%S") #按格式转换回元祖类型
time.asctime() #传入元祖格式的时间,默认当前时间,返回字符串'%a %b %d %H:%M:%S %Y'表示的时间
time.ctime() #传入时间戳,转换成字符串'%a %b %d %H:%M:%S %Y'表示时间
datetime模块
用法和time模块差不多,区别在于函数写法不同:
datetime.datetime.now() #获取当前时间
datetime.datetime.now() + datetime.timedelta(3) #三天后时间
datetime.datetime.now().replace(minute=3, hour= 4) #获取时间后修改时间