파이썬 날짜 시간 대 시간 모듈의 차이점


137

datetimetime모듈 의 차이점 과 각각에 사용해야 하는 것을 파악하려고합니다 .

datetime날짜와 시간을 모두 제공 한다는 것을 알고 있습니다. time모듈 의 용도는 무엇입니까 ?

예들이 이해 될 것이고 시간대들에 관한 차이점들이 특히 흥미로울 것이다.

답변:


102

time모듈은 주로 유닉스 타임 스탬프 작업을위한 것입니다. 유닉스 시대 이후 초가 된 부동 소수점 숫자로 표현됩니다. 이 datetime모듈은 많은 동일한 작업을 지원할 수 있지만보다 객체 지향적 인 유형의 집합을 제공하며 표준 시간대에 대한 일부 지원도 제공합니다.


22
또한, 차이점 무엇 timedatetime.time?
SparkAndShine

실시간 / 단조 적 인 경우와 같은 속성을 자세히 설명하는 것이 좋습니다. POSIX 표준에서와 마찬가지로, 당신은 : 등 CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_THREAD을 ...에 POSIX 시계 참조 : stackoverflow.com/questions/3523442/...
Vajk Hermecz

12

스틱하는 timeDST 모호성을 방지합니다.

일광 절약 시간 (DST)과 관련된 모호성 문제방지time 하려면 모듈 대신 시스템 모듈 만 사용하십시오 .datetime

현지 시간을 포함하여 모든 시간 형식으로 변환하는 것은 매우 쉽습니다.

import time
t = time.time()

time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'

time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'

time.time()시스템 에포크 이후의 시간을 초 단위로 나타내는 부동 소수점 숫자입니다. time.time()명확한 타임 스탬핑에 이상적입니다.

시스템이 NTP (Network Time Protocol) 데몬을 추가로 실행하는 경우 꽤 견고한 시간축이됩니다.

다음은 모듈 의 설명서 입니다 time.


귀하의 예에서 time.localtime()DST를 구운 것은 물론 을 사용합니다 . 우리가 순수 주의자가 되려면 time.gmtime()대신 사용해서는 안 됩니까? :)
Seamus

@Seamus 간단히 두 명령을 테스트 하면 튜플 ipythontime.gmtime()생성되는 반면 , 1970 년 1 월 1 일 목요일 00:00:00 UTC 이후 경과 된 UNIX 10 진수 값 (초)으로 UNIX epoch 시간time.time()제공합니다 .이 기능 은 epoch 시간을 로컬 시간으로 변환합니다. 시간 튜플. 따라서 귀하의 질문에 대한 대답은«아니오»입니다. time.localtime(t)
Sroo Stroobandt 17:07에

시간 객체에 요일을 추가하는 방법이 있습니까? datetime에는 timedelta (days = 6) 메소드가 있습니다.
Nehemias Herrera

@NehemiasHerrera t = time.time()는 시스템 에포크 이후 시간 (초)을 나타내는 부동 소수점 숫자입니다. 따라서 매일 매일 86400 초를 더하거나 뺄 수 있습니다. t += 86400
Sroo Stroobandt

5

시간 모듈은 특정 레코드의 시간이 필요할 때 사용할 수 있습니다. 예를 들어 매일 트랜잭션에 대해 별도의 테이블 / 파일이 있다고 가정하면 시간이 필요합니다. 그러나, 시간 데이터 유형은 일반적으로 시간을 저장하는 데 사용되는 차분 시간의 2 점 사이를.

날짜 시간을 사용하여 수행 할 수도 있지만 특정 날짜의 시간 만 처리하는 경우 시간 모듈을 사용할 수 있습니다.

Datetime은 레코드의 특정 데이터 및 시간을 저장하는 데 사용됩니다. 렌탈 에이전시 에서처럼. 마감일은 날짜 / 시간 데이터 유형입니다.


3

시간대에 관심이 있다면, pytz의 사용을 고려해야합니다.


8
시간 및 날짜 / 시간 모듈과 시간대 간의 차이에 가장 관심이있는 것 같습니다. 모든 것을 존중하면서 이것에 또 다른 의존성을 가져 오는 것은 무의미합니다.
sbartell

3
time 및 datetime 모듈 모두에서 시간대 지원은 매우 열악합니다 ... 유용한 방식으로 시간대를 처리하는 데 관심이 있다면 pytz에 대해 알아야합니다. 현재의 종속성이 문제를 해결하는 데 도움이되지 않는 문제를 해결하기 위해 종속성을 가져옵니다.
donkopotamus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.