2016-04-26 6 views
0

Я пытаюсь преобразовать порядковое значение DATETIME в значение, которое может быть принято по os.utime()как преобразовать формат даты в «os.utime()» формат

Мой имеет формат : 201642322295

(который: год = 2016, месяц = ​​4, день = 23, час = 22, минута = 29, второй = 5)

Однако этот метод не будет принимать это и я m не уверен, как это сделать. Я тоже пытался преобразовать его в datetime, но это не сработает.

Сегмент кода:

s = int(self.newTime) 
date = datetime(year=s[0:4], month=s[4], day=s[5:2], hour=s[8:2], minute=s[10:2], second=s[12]) 
os.utime(self.fileName, (date,date)) 

(я пробовал использовать только порядковое формат, который изменяет DateTime файла, но это не совсем правильно)

редактировать: Это не так же, как «питона преобразования DateTime для использования в os.utime», потому что он использует совершенно другой формат

ответ

0

os.utime expects values in the form of integers representing a untix timestamp.

s = int(self.newTime) 
date = datetime(year=s[0:4], month=s[4], day=s[5:2], hour=s[8:2], minute=s[10:2], second=s[12]) 
utime = time.mktime(date.timetuple()) 
os.utime(self.fileName, (utime, utime)) 
+0

Спасибо. Я немного ближе, но теперь у меня есть типError: «long» объект не имеет атрибута «__getitem__» –

+0

ну, вы бросаете 'self.newTime' в' int', а затем пытаетесь получить подстроки из него создайте дату и время. Это определенно неверно. – Hamms

+0

Что такое 'self.newTime'? – Hamms

Смежные вопросы