整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

python使用time模块实现时间相关转换

python 小小明 28℃ 0评论

 

1. Time 模块

1.1. Time 模块内置函数

函数

描述

time.altzone

返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。

time.asctime([tupletime])

接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

time.clock( )

用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。

time.ctime([secs])

作用相当于asctime(localtime(secs)),未给参数相当于asctime()

time.gmtime([secs])

接收时间辍(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0

time.localtime([secs])

接收时间辍(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。

time.mktime(tupletime)

接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)。

time.sleep(secs)

推迟调用线程的运行,secs指秒数。

time.strftime(fmt[,tupletime])

接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。

time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

根据fmt的格式把一个时间字符串解析为时间元组。

time.time( )

返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

time.tzset()

根据环境变量TZ重新初始化时间相关设置。

 

1.2. struct_time元组属性

 

属性

字段

tm_year

4位数年

2008

tm_mon

1 12

tm_mday

131

tm_hour

小时

023

tm_min

分钟

059

tm_sec

061 (6061 是闰秒)

tm_wday

一周的第几日

06 (0是周日)

tm_yday

一年的第几日

1366 (儒略历)

tm_isdst

夏令时

-1, 0, 1, -1是决定是否为夏令时的旗帜

 

1.3. 时间日期格式化符号

 

符号

含义

示例

%y

两位数的年份表示(00-99

17

%Y

四位数的年份表示(000-9999

2017

%m

月份(01-12

08

%d

月内中的一天(0-31

27

%H

24小时制小时数(0-23

11

%I

12小时制小时数(01-12

11

%M

分钟数(00=59

29

%S

秒(00-59

08

%a

本地简化星期名称

Sun

%A

本地完整星期名称

Sunday

%b

本地简化的月份名称

Aug

%B

本地完整的月份名称

August

%c

本地相应的日期表示和时间表示

08/27/17 11:29:08

%j

年内的一天(001-366

239

%p

本地A.M.P.M.的等价符

AM

%U

一年中的星期数(00-53)星期天为星期的开始

35

%w

星期(0-6星期天为星期的开始

0

%W

一年中的星期数(00-53)星期一为星期的开始

34

%x

本地相应的日期表示

08/27/17

%X

本地相应的时间表示

11:29:08

%Z

当前时区的名称

中国标准时间

%%

%号本身

%

 

 

 

1.4. 时间字符串与struct_time元组与时间戳间的相互转换

blob.png 

#获取当前时间戳
time.time()
#将指定时间戳转换为struct_time元组
time.localtime(timestamp)
#将指定struct_time元组转换为指定格式的字符串
time.strftime(formatstr, struct_time)
#将指定格式的字符串解析为struct_time元组
time.strptime(timestr, formatstr)
#将struct_time元组转换为时间戳
time.mktime(struct_time)

 

1.4.1. 获取当前时间戳

import time   # 引入time模块

 

timecur = time.time()
print "当前时间戳为",timecur,type(timecur)

 

1.4.2. 时间戳转换为struct_time元组

localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,

tm_sec,tm_wday,tm_yday,tm_isdst)

 

localtime = time.localtime(1459175064.0)
print "本地时间为 :", localtime,type(localtime)

 

 

1.4.3. struct_time元组转换为时间字符串

print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1459175064.0))

 

 

 

1.4.4. 时间字符串转换为struct_time元组

strptime = time.strptime("2016-03-28 22:24:24", "%Y-%m-%d %H:%M:%S")
print strptime,type(strptime)

结果:

time.struct_time(tm_year=2016, tm_mon=3, tm_mday=28, tm_hour=22, tm_min=24, tm_sec=24, tm_wday=0, tm_yday=88, tm_isdst=-1) <type 'time.struct_time'>

 

 

1.4.5. struct_time元组转换为时间戳

print time.mktime(time.localtime(1459175064.0))

结果:

1459175064.0

 

 

 

转载请注明:全栈大数据 » python使用time模块实现时间相关转换

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址