datetime TypeError:在字符串格式化期间不是所有参数都被转换

时间:2012-06-20 18:16:10

标签: python string datetime string-formatting netdna-api

我确信有更简单的方法可以做到这一点,但我不确定为什么我会一直收到TypeError。

   import datetime
   getdate = datetime.date.today()
   thirty = datetime.timedelta(days=30)
   last_month = getdate - thirty
   print json.dumps(api.get_zone_stats(3, "daily", "%s", "%s" %(last_month, getdate)))

追踪(最近一次通话): ...

TypeError:并非在字符串格式化期间转换所有参数

2 个答案:

答案 0 :(得分:3)

问题在于:

api.get_zone_stats(3, "daily", "%s", "%s" %(last_month, getdate))

%运算符仅适用于前一个字符串:

"%s" %(last_month, getdate)

一个%s有两个变量。

试试这个:

api.get_zone_stats(3, "daily", "{0}".format(last_month), "{0}".format(getdate))

或者这个:

api.get_zone_stats(3, "daily", str(last_month), str(getdate))

答案 1 :(得分:0)

在最后一行中,您尝试使用两个值格式化字符串,但字符串只包含一个填充点:

print json.dumps(api.get_zone_stats(3, "daily", "%s", "%s" %(last_month, getdate)))

您的意思是以下吗?

print json.dumps(api.get_zone_stats(3, "daily", str(last_month), str(getdata)))