"12:30"또는 "5:51:23"과 같은 문자열을 파이썬에서 경과 된 시간을 나타내는 십진수로 변환하려면 어떻게해야합니까?시간 문자열을 10 진수로 변환 하시겠습니까?
답변
아주 간단한 문자열 분할 및 수학 :
def time_string_to_decimals(time_string):
fields = time_string.split(":")
hours = fields[0] if len(fields) > 0 else 0.0
minutes = fields[1] if len(fields) > 1 else 0.0
seconds = fields[2] if len(fields) > 2 else 0.0
return float(hours) + (float(minutes)/60.0) + (float(seconds)/pow(60.0, 2)
단 하나의 번호가 "3"
같이 주어진다면,이 3.0
를 반환합니다. 두 개의 콜론으로 분리 된 값이 "4:57"
처럼 주어지면 4.95
을 반환합니다. 콜론으로 구분 된 세 개의 값이 "14:36:27"
과 같이 주어지면 14.6075
이 반환됩니다.
>>> float('5:51:23'.split(':')[0])
5.0
OP의 자기 대답에서 나는 이것이 충분하지 않다고 생각합니다. –
궁극적으로 그가 대답이 그가 원하는 것인가를 결정할 것입니다. 이 경우 나는 엄격하게 요구 사항과 [KISS 원리] (http://en.wikipedia.org/wiki/KISS_principle)를 따르고 있습니다. –
가능한 해결 방법
>>> time_st = ["12:30" , "5:51:23"]
>>> HMS = [60*60, 60, 1]
>>> for t in time_st:
dec_time = sum(a * b for a,b in zip(HMS, map(int, t.split(":"))))
dec_time /= 3600.
print "{} = {}".format(t, dec_time)
12:30 = 12.5
5:51:23 = 5.85638888889
00:00 = 0.0
23:59 = 23.9833333333
HMS를 [1, 1.0/60, 1.0/3600]으로 변경하면 dec_time이 시간 단위로 표시됩니다. 3600에 의한 분류는 요구되지 않을 수도 있습니다. – shantanoo
- 1. 문자열을 10 진수로 변환
- 2. Ruby 문자열을 10 진수로 변환
- 3. 문자열을 10 진수로 변환 C#
- 4. 10 진수로 문자열을 10 진수로 변환하고
- 5. 7FFFFFFF를 10 진수로 변환 하시겠습니까?
- 6. QueryString을 10 진수로 변환
- 7. 문자열을 사용하여 10 진수에서 2 진수로 변환
- 8. 정말 큰 10 진수 문자열을 16 진수로 변환 하시겠습니까?
- 9. 어떻게 10 진수를 2 진수로 변환 하시겠습니까?
- 10. SqlDecimal을 10 진수로 변환
- 11. NSString을 10 진수로 변환
- 12. 텍스트 상자에서 10 진수로 변환
- 13. 부호가있는 10 비트 2 진수를 10 진수로 변환 하시겠습니까?
- 14. iOS에서 문자열을 16 진수로 변환 하시겠습니까?
- 15. 문자열을 신속하게 2 진수로 변환 하시겠습니까?
- 16. 루비 문자열을 8 진수로 변환 하시겠습니까?
- 17. 바운드 메서드를 10 진수로 변환
- 18. 지수 값을 10 진수로 변환
- 19. 10 진수를 2 진수로 변환
- 20. 2 진수에서 10 진수로 변환
- 21. VB.NET에서 통화를 10 진수로 변환
- 22. 10 진수를 2 진수로 변환
- 23. IEEE-754에서 10 진수로 변환
- 24. 숫자를 10 진수로 단어로 변환
- 25. 10 진수에서 2 진수로 변환
- 26. 10 진수에서 10 진수로 문자열 변환
- 27. 문자열을 큰 10 진수로 변환하는 일반적인 방법
- 28. PHP에서 10 진수를 2 진수로 변환
- 29. 유니 코드 문자열을 10 진수로 변환 - 파이썬 2.7
- 30. C# 또는 BizTalk Functoids를 사용하여 문자열을 10 진수로 변환
현재 질문 및 중복 주소를 다른 문제로 표시된 하나. 중복 질문에 대해 게시 된 솔루션은 불완전한 시간 문자열 ex 12:30을 처리하지 않습니다. 재 개설을위한 투표 – Abhijit