스택큐힙리스트

datetime 객체에서 시간을 자르는 방법은 무엇인가요? 본문

카테고리 없음

datetime 객체에서 시간을 자르는 방법은 무엇인가요?

스택큐힙리스트 2023. 4. 27. 00:45
반응형

파이썬 datetime 객체를 우아하게 절단하는 방법은 무엇인가요?

이 경우에는 정확히 그 날까지입니다. 따라서 기본적으로 시간, 분, 초 및 마이크로초를 0으로 설정합니다.

나는 출력물이 문자열이 아닌 datetime 객체가 되길 원한다.

답변 1

나는 이게 당신이 찾고 있는 것이라고 생각합니다...

>>> import datetime

>>> dt = datetime.datetime.now()

>>> dt = dt.replace(hour=0, minute=0, second=0, microsecond=0) # Returns a copy

>>> dt

datetime.datetime(2011, 3, 29, 0, 0)

하지만 시간 측면에 관심이 없다면, 정말 date 객체만 전달해야합니다...

>>> d_truncated = datetime.date(dt.year, dt.month, dt.day)

>>> d_truncated

datetime.date(2011, 3, 29)

답변 2

데이터베이스에서 날짜와 시간을 다루는 경우 datetime 객체를 가장 자주 사용하게 됩니다. 그러나 때로는 datetime 객체에서 시간 부분을 제거해야 할 때가 있습니다. 이 경우, 순전히 날짜 정보만 필요할 때가 있기 때문입니다.

이 작업을 수행하는 가장 간단한 방법은 datetime 객체의 strftime() 메소드를 사용하는 것입니다. 이 메소드를 사용하여 지정한 형식 문자열에 따라 날짜와 시간을 포맷할 수 있습니다. 예를 들어, YYYY-mm-dd 형식 문자열을 전달하면 datetime 객체의 시간 부분이 자동으로 제거됩니다.

그러나 이 메소드는 날짜와 시간을 return하므로 오류가 발생하지 않도록 주의해야 합니다. 이 경우, datetime 객체를 문자열로 변환한 다음 다시 datetime 객체로 변환하는 방법을 사용하는 것이 좋습니다.

datetime 객체에서 시간을 제거할 때 유용한 또 다른 방법은 datetime.combine(date, time) 메소드를 사용하는 것입니다. 이 메소드를 사용하면 날짜와 시간을 결합하여 datetime 객체를 만들 수 있습니다. 시간을 제거하려면 time 객체를 전달하기만 하면 됩니다.

마지막으로, datetime 객체에서 시간을 제거하기 위해 새로운 datetime 객체를 만들 수도 있습니다. 이 방법은 가장 간단하지만, 새로운 datetime 객체를 만들어야 하므로 메모리를 더 소비합니다.

따라서 이러한 방법 중 하나를 선택하여 datetime 객체에서 시간을 제거할 수 있습니다. 그러나 이 작업을 수행하기 전에 데이터베이스나 프로그램이 이러한 변경을 허용하는지 확인하는 것이 중요합니다. 이러한 변경이 데이터의 일관성을 파괴할 수 있기 때문입니다.

반응형
Comments