2016-07-17 1 views
1

저는이 시간 값을 203045에서 20:40:45까지 형식화하려고했습니다. 나는 어디서부터 시작할 지 전혀 모른다. 어떤 도움을 주시면 감사하겠습니다! 감사합니다. datetime에서어떻게 추가합니까 : 203045와 같은 형식의 시간에 파이썬으로?

+0

[파이썬에서 구문 분석 시간 문자열] (의 가능한 중복 http://stackoverflow.com/questions/10494312/parsing-time-string-in -python) –

답변

1

사용 strptimestrftime 기능, 전자 구조 문자열에서 날짜 객체와 특정 형식의 문자열로 후자의 형식 날짜 개체 : 당신은 또한 정규 표현식으로 재생할 수 있습니다

from datetime import datetime 
datetime.strptime("203045", "%H%M%S").strftime("%H:%M:%S") 
# '20:30:45' 
+0

203045와 같이 여러 값을 어떻게 구현합니까? – dontbadick

+0

'list-comprehension '을 사용하는 것은 나쁜 선택이 아닙니다. str1에 대한 strftime ("% H : % M : % S")과 같은 것입니다. 여기서'values'를 실제 값으로 대체하십시오. – Psidom

1

이를 얻을 수 그들이 제로에 동일한 경우 동일한 결과 :

import re 
ch = "203045" 
print ":".join(re.findall('\d{2}',ch)) 
# '20:30:45' 
+0

하지만 내 질문은 이제 다음과 같이 거짓말을했다. 내가 가지고있는 전화 번호가 20304500이고 마지막 2 자리 "00"없이 이것을 20:30:45로 원하면 어떻게 할 수 있습니까 ?? – dontbadick

0

는 마지막 두 자리 숫자를 제거하려면이 시도 :

import re 
ch = "20304500" 
print ":".join([e for e in re.findall('\d{2}',ch) if e!="00"]) 
# '20:30:45' 

이든 (마지막 두 자리) :

import re 
ch = "20304500" 
print ":".join(re.findall('\d{2}',ch)[:-1]) 
# '20:30:45' 
관련 문제