Форматирование времени Python отличается в Windows

Возможно, мне не хватает очевидной разницы в платформе, которую я должен учитывать, но я получаю это при попытке сделать формат времени (Python2.7) ...

в Linux env:

>>> import time
>>> time.strftime("%a, %d-%b-%Y %T GMT", time.gmtime())
'Tue, 29-May-2012 21:42:04 GMT'

в Windows:

>>> import time
>>> time.strftime("%a, %d-%b-%Y %T GMT", time.gmtime())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Invalid format string

Кортежи, возвращенные из time.gmtime (), выглядят одинаково, поэтому я не совсем уверен, что мне нужно изменить.

Ответы на вопрос(3)

%Tиректива формата @ указана в Документация Python - не должно быть доступно / реализовано для платформы Windows (я только что попробовал с Python v2.7.3 и 3.2.3)

что у меня была эта проблема, потому что MacOS поддерживает"%D" и мне пришлось заменить его на"%m/%d/%Y" чтобы сделать его кроссплатформенным. В общем, объединяя «простые» строки формата, такие как%m кажется более безопасным, чем использование «агрегатных» строк, таких как%T или%D.

time.strftime() поддерживает тот же набор спецификаторов формата, что и платформа (или, если быть более точным, libc этой платформы), на которой он работает. Однако только часть из них является переносимой. Видетьhttp: //docs.python.org/library/time.htm для списка. Цитировать документы:

Дополнительные директивы могут поддерживаться на определенных платформах, но только перечисленные здесь имеют значение, стандартизированное ANSI C.

В этом случае,%T можно заменить на%H:%M:%S.

ВАШ ОТВЕТ НА ВОПРОС