我需要一个函数来生成带有后缀的数据文件名,后缀必须是当前的日期和时间。
我希望2014年2月18日15:02这样的日期:
data_201402181502.txt
但这是我得到的:data_2014218152.txt
我的代码......
import time
prefix_file = 'data'
tempus = time.localtime(time.time())
suffix = str(tempus.tm_year)+str(tempus.tm_mon)+str(tempus.tm_mday)+
str(tempus.tm_hour)+str(tempus.tm_min)
name_file = prefix_file + '_' + suffix + '.txt'
答案 0 :(得分:3)
您可以使用time.strftime
来处理填充前导零,例如在这个月:
from time import strftime
name_file = "{0}_{1}.txt".format(prefix_file,
strftime("%Y%m%d%H%M"))
如果您只是使用str
将整数转换为字符串,则它不会具有前导零:str(2) == '2'
。但是,您可以使用str.format
语法指定此内容:"{0:02d}".format(2) == '02'
。
答案 1 :(得分:1)
看起来像你想要的
date.strftime(format)
格式字符串将允许您控制strftime的输出,尝试类似于: “B-%D-%%Y” 来自http://docs.python.org/2/library/datetime.html
答案 2 :(得分:1)
将str.format
与datetime.datetime
对象一起使用:
>>> import datetime
>>> '{}_{:%Y%m%d%H%M}.txt'.format('filename', datetime.datetime.now())
'filename_201402182313.txt'