일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- 보안
- 프로그래밍언어
- 데이터분석
- 컴퓨터과학
- 웹개발
- 데이터구조
- 사이버보안
- 네트워크보안
- 데이터과학
- 컴퓨터공학
- 머신러닝
- 버전관리
- 데이터베이스
- 파이썬
- 자바스크립트
- 소프트웨어공학
- 2
- 컴퓨터비전
- 네트워크
- 소프트웨어
- 자료구조
- 프로그래밍
- 인공지능
- I'm Sorry
- 클라우드컴퓨팅
- 딥러닝
- 코딩
- 빅데이터
- Yes
- Today
- Total
스택큐힙리스트
datetime 객체에서 시간을 자르는 방법은 무엇인가요? 본문
파이썬 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 객체에서 시간을 제거할 수 있습니다. 그러나 이 작업을 수행하기 전에 데이터베이스나 프로그램이 이러한 변경을 허용하는지 확인하는 것이 중요합니다. 이러한 변경이 데이터의 일관성을 파괴할 수 있기 때문입니다.