time模块
- 导入
import time
包含了三种时间格式
timestamp时间戳,即1970年1月1日00:00:00开始按秒计算的偏移量
struct_time时间元组,由九个元素组成
(在pandas模块中,其可以直接识别struct_time,所以将其转换为时间元组即可)
属性 值 tm_year(年) 比如2011 tm_mon(月) 1 - 12 tm_mday(日) 1 - 31 tm_hour(时) 0 - 23 tm_min(分) 0 - 59 tm_sec(秒) 0 - 61 tm_wday(weekday) 0 - 6(0表示周日) tm_yday(一年中的第几天) 1 - 366 tm_isdst(是否是夏令时) 默认为-1
format time格式化时间,包括自定义合适和固定格式
(一般来说,没有经过处理的表都是这种格式,将其转换为结构时间元组即可)
| %a | 本地(locale)简化星期名称 |
| %A | 本地完整星期名称 |
| %b | 本地简化月份名称 |
| %B | 本地完整月份名称 |
| %c | 本地相应的日期和时间表示 |
| %d | 一个月中的第几天(01 - 31) |
| %H | 一天中的第几个小时(24小时制,00 - 23) |
| %I | 第几个小时(12小时制,01 - 12) |
| %j | 一年中的第几天(001 - 366) |
| %m | 月份(01 - 12) |
| %M | 分钟数(00 - 59) |
| %p | 本地am或者pm的相应符 |
| %S | 秒(01 - 61) |
| %U | 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 |
| %w | 一个星期中的第几天(0 - 6,0是星期天) |
| %W | 和%U基本相同,不同的是%W以星期一为一个星期的开始。 |
| %x | 本地相应日期 |
| %X | 本地相应时间 |
| %y | 去掉世纪的年份(00 - 99) |
| %Y | 完整的年份 |
| %Z | 时区的名字(如果不存在为空字符) |
| %% | ‘%’字符 |

- 自定义格式时间转换为unix时间戳timestamp
timeArray = time.strptime(time, "%Y-%m-%d %H:%M:%S") # 从格式化时间转换成时间元组 timestamp = time.mktime(timeArray) # 从时间元组转换为转换成时间戳
- 时间戳转换为指定格式的时间
time_local = time.localtime(timestamp) # 时间戳转换为时间元组 # localtime也会对应一个标准的时间格式 dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local) # 将时间元组转换成新的时间格式(2016-05-05 20:28:54)
需要注意,时间元组是一个桥梁,连接了指定格式的时间和时间戳
- 生成固定格式的时间字符串
time.asctime([t]) # 生成固定格式的时间表示格式,把一个表示时间的元组或者struct_time表示为’Sat Jan 13 21:56:34 2018’这种形式 time.ctime([secs])
# 生成固定格式的时间表示格式,把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式
- 返回当前时间
int(time.time()*1000 #时间戳(毫秒)
time.localtime() #标准格式的时间
time.strftime('%Y-%m-%d %H:%M:%S') #指定格式的时间
- 推迟线程的执行,进行睡眠
time.sleep(secs) # 线程推迟指定的时间运行 线程睡眠指定时间,单位为秒
- 时间戳的转换
增加位数
print (t) #原始时间数据 print (int(t)) #秒级时间戳 print (int(round(t * 1000))) #毫秒级时间戳 print (int(round(t * 1000000))) #微秒级时间戳
减少位数
print (t) #微秒级时间戳 print (int(t/1000)) #毫级时间戳 print (int(t/1000000)) #秒级时间戳
注意,如果时间戳和转换的时间对不上(使用在线查询),则可能需要在转换过程中设置时区
df_data['时间'] = df_data['时间'].apply(lambda x:x.replace(tzinfo=pytz.timezone('Asia/Shanghai'))) # 需要使用pytz模块生成一个时区对象
一般来说,tzinfo接收的都是pytz模块生成的对象,其包含了地理位置信息,用于指定时区

浙公网安备 33010602011771号