【发布时间】:2012-07-23 03:39:46
【问题描述】:
我正在尝试使用日期时间对象,包括 datetime.month、datetime.day 和 datetime.hour。
问题是这些对象(比如datetime.month)将值作为 1、2、3 等到 12。相反,我需要这些格式为 01、02、03 等到 12。有几天和几个月的类似问题。
如何切换到这种格式?
我意识到这不是一个非常明确的问题:
我正在使用字符串格式来打印带有时间戳的字典中的值。
所以,表达式大致是:
print "%s-%s-%s"%(date.year, date.month, date.day, etc., len(str) )
我的值最初采用正确的"%Y-%m-%d 形式(例如2000-01-01)。使用上述内容,我得到 2000-1-1。
【问题讨论】:
-
你会发现
08在python中并不是一个值。如果要打印它们,请使用 strftime,而不是单个属性。 -
Python 中的值不包含格式。打印出来或转成字符串时需要指定格式。
-
@MarkRansom 见上文,如果我对这些对象使用字符串格式,则它们被定义为(带月份)为 1 到 12(含)。
-
@ehertele 查看我的回答。您刚刚发布的代码甚至不会运行,因此当您说“我的值最初采用正确的形式”时,您的意思有点不清楚。你做了什么改变,破坏了它?
-
@RicardoAltamirano 我的意思是,使用带有 %s 和对象 datetime 对象的字符串格式会为您提供奇异值(如 1 到 12),因为这就是它们的定义方式。我的代码自然不会运行,因为它不是实际代码。不过感谢您的帮助。
标签: python