1. 时间戳转年月日时分秒
import time# 创建一个时间戳t = 1533880334# 1. 使用time.localtime将时间戳转成日期格式t = time.localtime(t)# time.struct_time(tm_year=, tm_mon=8, tm_mday=10, tm_hour=13, tm_min=52, tm_sec=14, tm_wday=4, tm_yday=222, tm_isdst=0)# 2. 使用time.strftime将日期转成日期显示方式(此处返回结果为文本)t = time.strftime("%Y-%m-%d %H:%M:%S",t)# '-08-10 13:52:14'
将结果这个结果定义成一个函数,便于日后可能使用
import timedef stamp2time(t):try:t = float(t)except:print('输入错入,请输入一个时间戳(或float型)')t = time.localtime(t)t = time.strftime("%Y-%m-%d %H:%M:%S",t)return t
**应用:**批量获取文件最后一次修改时间
import globimport timedef stamp2time(t):try:t = float(t)except:print('输入错入,请输入一个时间戳(或float型)')t = time.localtime(t)t = time.strftime("%Y-%m-%d %H:%M:%S",t)return t
df = pd.DataFrame()for i in glob.glob(r'D:\PycharmProjects\ipsos_thg\thg_week\result\version_2\*.txt'):data = {'file_name':[i],'time_stamp':os.path.getmtime(i),'date':stamp2time(os.path.getmtime(i))}df = df.append(pd.DataFrame(data))# file_nametime_stampdate# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 11:59:50# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 11:59:57# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 12:00:04# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 12:00:11# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 12:00:17# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 12:00:25# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 12:00:32# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 12:00:39# 0D:\PycharmProjects\ipsos_thg\thg_week\result\v...1.534046e+09-08-12 12:00:46
获取文件时间的几种方法
file = r'D:\PycharmProjects\ipsos_thg\thg_week\result\version_2\week17_m4_0421_0427_4areas_v2.txt'os.path.getatime(file) #输出最近访问时间os.path.getctime(file) #输出文件创建时间os.path.getmtime(file) #输出最近修改时间time.gmtime(os.path.getmtime(file)) #以struct_time形式输出最近修改时间os.path.getsize(file) #输出文件大小(字节为单位)
2. 将时间转为时间戳
# 1. 首先要确认待转换的数据是时间格式,通常看起来是时间格式的实际是一个文本,我们需要用strptime将其转换为时间格式t = "-08-22 13:14:20"t = time.strptime(t,'%Y-%m-%d %H:%M:%S')# time.struct_time(tm_year=, tm_mon=8, tm_mday=22, tm_hour=13, tm_min=14, tm_sec=20, tm_wday=2, tm_yday=234, tm_isdst=-1)# 2. 调用mktime函数将时间转成时间戳t = time.mktime(t)# 1534914860.0
将结果这个结果定义成一个函数,便于日后可能使用
def time2stamp(t):t = time.strptime(t,'%Y-%m-%d %H:%M:%S')t = time.mktime(t)return t