时间戳与日期格式相互转换
1. 时间戳转年月日时分秒
import time
# 创建一个时间戳
t = 1533880334
# 1. 使用time.localtime将时间戳转成日期格式
t = time.localtime(t)
# time.struct_time(tm_year=2018, 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)
# '2018-08-10 13:52:14'
将结果这个结果定义成一个函数,便于日后可能使用
import time
def 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 glob
import time
def 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_name time_stamp date
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 11:59:50
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 11:59:57
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 12:00:04
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 12:00:11
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 12:00:17
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 12:00:25
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 12:00:32
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-08-12 12:00:39
# 0 D:\PycharmProjects\ipsos_thg\thg_week\result\v... 1.534046e+09 2018-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) #输出文件大小(字节为单位)
函数 | 功能 |
---|---|
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 = "2018-08-22 13:14:20"
t = time.strptime(t,'%Y-%m-%d %H:%M:%S')
# time.struct_time(tm_year=2018, 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
还没有评论,来说两句吧...