2012-11-13 3 views
0

myDateTime의 이름과 'datetime.datetime (2012, 11, 16, 3, 0)'이라는 문자열이 있습니다.문자열을 파이썬에서 날짜 시간으로 변환하고 다른 형식의 문자열로 다시 변환

myDateTime = 'datetime.datetime(2012, 11, 16, 3, 0)' 

파이썬에서 어떻게이 문자열을 "11-16-12 03:00:00"형식으로 가져올 수 있습니까? 파이썬에서 SQL 쿼리를 실행 한 후이 문자열을 얻으면 다른 것들 중에서 datetime으로 목록을 가져옵니다.

내가

x = myDateTime.strftime("%Y-%m-%d %H:%M:%S") 

의 라인을 따라 뭔가를 사용하여 시도하고 나는 오류 "오류 속성 : 'STR'개체가 어떤 속성 '의 strftime'를이 없습니다."

또한 strptime을 사용했지만 myDateTime은 datetime 유형이 아닙니다. 문자열을 축 어적으로 해석 할 수만 있다면 작업 할 수있는 datetime 객체를 갖게됩니다. 어떤 도움이라도 대단히 감사합니다!

+1

'mm-dd-yy'는 끔찍한 형식입니다. mdy 순서가 사용된다면,'/'를 사용하는 것이 더 낫습니다. dmy와 함께 사용하는 것이 낫습니다.''.와 ymd,''로 구분됩니다. – glglgl

답변

4

귀하의 개체 mydatetime은 따옴표로 묶여 있습니다 : 그것은 문자열입니다. 그냥 따옴표를 삭제 : (예 : SQL 쿼리로) 문자열을 반환하는 함수의 출력

myDateTime = datetime.datetime(2012, 11, 16, 3, 0) 
myDatetime.strftime("%Y-%m-%d %H:%M:%S") 

mydatetime 경우에는 일반 파이썬 객체로 변환하는 eval를 사용을 시도 할 수 있습니다. 매우 신중해야합니다. eval은 전혀 안전하지 않으므로입니다. 대신 타사 모듈 asteval을 사용할 수 있습니다.

+0

피에르 감사합니다. 그것은 실제로 SQL 쿼리의 결과입니다. 나는 asteval과 함께 놀고, 내가 나의 문제를 돌보기 위해 그것을 얻을 수 있는지 알 것이다. 파이썬의 버전을 업그레이드해야 할 것입니다. 아직 2.5 버전이고, asteval은 지원하지 않습니다. 내가 끝내면 다시 확인해 볼게. –

+0

[asteval] (http://newville.github.io/asteval/)은 어떻게 작동 했습니까? –