2014-11-14 182 views
-2

我是python新手。我的问题是如何将参数传递到date.strftime()或替代方法 下面是将参数传递给strftime方法

from datetime import date 
dl_date = date.today() 
p = '%d%b%Y' # the format may vary %d%B%Y or %d%m%Y or % d%M%Y etc 
file_date_format = "{0}/{1}/{2}".format(str(dl_date.strftime('%r')),str(dl_date.strftime('%r').upper()) 
             , str(dl_date.strftime('%r'))) % (p[:2], p[2:4], p[4:6]) 
print(file_date_format) 

帮助是非常赞赏的代码。

+0

你是什么意思* “如何通过参数” *?这是一个实例方法,你可以调用'dl_date.strftime(p)'。 – jonrsharpe 2014-11-14 14:16:51

+0

在你对strftime的三次调用中,你是否试图用'%'来替换每个'%r'的p [:2],p [2:4]和p [4:6]?这似乎相当详细。这段代码实际上应该做什么? – Kevin 2014-11-14 14:19:25

回答

0

此处不需要使用百分比样式字符串格式。只需将p片直接粘贴在strftime调用中即可。

from datetime import date 
dl_date = date.today() 
p = '%d%b%Y' # the format may vary %d%B%Y or %d%m%Y or % d%M%Y etc 
file_date_format = "{0}/{1}/{2}".format(
    str(dl_date.strftime(p[:2])), 
    str(dl_date.strftime(p[2:4]).upper()), 
    str(dl_date.strftime(p[4:6])) 
) 
print(file_date_format) 

结果:

14/NOV/2014 
+0

谢谢,我知道这一点,想知道我们是否可以传递参数 – Ganesh 2014-11-14 14:29:25

+0

我_am_传递参数在这里。也许我们正在使用不同的含义。 “传递参数”对你意味着什么? – Kevin 2014-11-14 14:31:06

+0

我的意思是strftime(%s或%r)而不是strftime(p [:]) – Ganesh 2014-11-14 14:33:58