2014-10-01 61 views
0

我想使用的strftime打印按以下格式的日期: 06-03-2007下午五时四十Python的格式字符串无效

我写了下面的代码:

import time 
print time.strftime("%m-%d-%Y %T:%M%p") 

但给出一个错误“格式字符串无效”。这是为什么?

+0

为我工作,它返回10-01-2014 13:38:59:38PM – FunkySayu 2014-10-01 11:39:33

+0

一个小点,你想要的格式'06-03-2007 05:40 PM'是不一样的格式字符串你是使用。你应该使用'“%m-%d-%Y%H:%I%p”'。 – 2014-10-01 11:42:05

回答

2

的%T在:

print time.strftime("%m-%d-%Y %T:%M%p") 

不exsist。您应该使用%H(0-23)或%I(0-11)

+1

它确实:'>>> time.strftime(“%m-%d-%Y%T:%M%p”)'10 -01-2014 14:34:40:34 PM'' – 2014-10-01 11:43:06

+0

https:// docs.python.org/2/library/time.html#time.strftime – 2014-10-01 11:45:13

+1

我认为这是Linux和Windows的区别。检查这[post](http://stackoverflow.com/questions/10807164/python-time-formatting-different-in-windows) – sk11 2014-10-01 11:47:31

1

也许您在寻找hourH而不是T。检查strftime可能的选项

print time.strftime("%m-%d-%Y %H:%M%p") 

注意: 行为是Windows和Linux机器上的不同。如果您看到Windows平台支持的所有内容,请检查这个http://msdn.microsoft.com/en-us/library/fe06s4ak.aspx

因此,最好在Windows上使用%H:%M:%S而不是%T

+0

是的这样做了!感谢名单!我猜在Windows上%T存在问题 – 2014-10-01 11:50:36

+0

是的。对于Windows中所有支持的格式选项,请查看我在答案中提供的链接。 – sk11 2014-10-01 11:52:21