如何获取日期时间字符串以后缀我的文件名?

时间:2014-02-18 14:07:30

标签: python date formatting string-formatting

我需要一个函数来生成带有后缀的数据文件名,后缀必须是当前的日期和时间。

我希望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'

3 个答案:

答案 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.formatdatetime.datetime对象一起使用:

>>> import datetime
>>> '{}_{:%Y%m%d%H%M}.txt'.format('filename', datetime.datetime.now())
'filename_201402182313.txt'