Ответ 1
Вы хотите использовать time.strftime()
для форматирования метки времени; сначала преобразуйте его во временный кортеж, используя time.gmtime()
или time.localtime()
:
time.strftime('%m/%d/%Y', time.gmtime(os.path.getmtime(file)))
Я пытаюсь получить datestamp в файле в формате mm/dd/yyyy
time.ctime(os.path.getmtime(file))
дает подробную метку времени Fri Jun 07 16:54:31 2013
Как я могу отобразить вывод как 06/07/2013
Вы хотите использовать time.strftime()
для форматирования метки времени; сначала преобразуйте его во временный кортеж, используя time.gmtime()
или time.localtime()
:
time.strftime('%m/%d/%Y', time.gmtime(os.path.getmtime(file)))
from datetime import datetime
from os.path import getmtime
datetime.fromtimestamp(getmtime(file)).strftime('%m/%d/%Y')
Вы можете создать объект datetime с помощью ctime str, как вы упомянули, а затем отформатировать его до строки любого формата.
str1 = time.ctime(os.path.getmtime(file)) # Fri Jun 07 16:54:31 2013
datetime_object = datetime.strptime(str1, '%a %b %d %H:%M:%S %Y')
datetime_object.strftime("%m/%d/%Y") # 06/07/2013
Таким образом, вам не нужно иметь дело с часовыми поясами + абсолютной меткой времени из эпохи
Кредит: Преобразование строки в datetime