我有一个简单的脚本:
now = datetime.datetime.now()
print "%d%d%d%d%d" % ( now.year, now.month, now.day, now.hour, now.minute )结果:
20111124149如何获取结果:
201111241409发布于 2011-11-24 18:16:16
指定数字的宽度应为2且填充为零:
now = datetime.datetime.now()
print "%04d%02d%02d%02d%02d" % ( now.year, now.month, now.day, now.hour, now.minute )如果我们分解其中一个组件,我们得到:
%标记替换的开始target.0使结果zero-padded.2表示结果应该是2个字符wide.d表示它是一个十进制值。更多信息:
发布于 2011-11-24 18:17:11
方法一:使用%02d而不是%d。此填充最大宽度为2,前导为零。
print "%02d%02d%02d%02d%02d" % (now.year, now.month, now.day, now.hour, now.minute)方法二,正确的方法:使用datetime.strftime。
print now.strftime('%Y%m%d%H%M')有关格式字符串的说明,请参阅Python文档中的strftime() and strptime() Behavior。
发布于 2011-11-24 18:15:04
我建议使用这种方法:
print "{0:02d}{1:02d}{2:02d}{3:02d}{4:02d}".format(now.year, now.month, now.day,
now.hour, now.minute)format-method应该优先于旧的格式化语法。您可以找到有关如何编写格式化字符串here的更多信息。
https://stackoverflow.com/questions/8255309
复制相似问题