python 메모

[python] datetime 사용하기

2021. 6. 6. 09:29
목차
  1. (1) string → datetime
  2. (2) datetime → string

string 형태의 날짜를 datetime 데이터로 바꾸거나 vice-versa로 작업하는 경우를 위해 정리하고자 한다.

 

(1) string → datetime

string 데이터를 날짜 형식으로 바꾸기 위해서는 datetime 모듈의 strptime을 사용하면 편하다. 이때 중요한 것은 parsing하는 데이터 포맷을 알맞게 입력해줘야 한다(!)

import datetime

## 올바른 포맷
string_data = '21/06/06'
datetime.datetime.strptime(string_data, '%y/%d/%m') 
>>>> datetime.datetime(2021, 6, 6, 0, 0)

## 잘못된 포맷
string_data = '20210606'
datetime.datetime.strptime(string_data, '%y/%d/%m')  
>>>> ValueErrorTraceback (most recent call last)
	 ....
	 ValueError: time data '20210606' does not match format '%y/%d/%m'

 

format을 맞춰주면 다음과 같이 string 데이터를 변환할 수 있다.

string_data = '20210606'
date_data = datetime.datetime.strptime(string_data, '%Y%d%m')  

## datetime 데이터로의 변환
date_data
>>>> datetime.datetime(2021, 6, 6, 0, 0)

print(date_data)
>>>> 2021-06-06 00:00:00

## 날짜만 사용 시
print(date_data.date())
>>>> 2021-06-06

 

뭐가 좋냐? 날짜의 순서 비교나, 날짜 차이 수 등을 계산할 수 있다.

import datetime

date_of_birth = '1993.08.25'
today = '20200606'

date_of_birth = datetime.datetime.strptime(date_of_birth, '%Y.%m.%d')
today = datetime.datetime.strptime(today, '%Y%m%d')

## 크기비교
date_of_birth < today
>>>> True

## 일 수 계산
today - date_of_birth
>>>> datetime.timedelta(9782)

howmanydays = today - date_of_birth
howmanydays.days
>>>> 9782

 

(2) datetime → string

datetime 데이터를 string으로 바꾸는 방법은 두 가지가 있다. str()를 사용하면 print() 결과물이 출력된다. 특정한 형태의 데이터로 바꾸고자 한다면 strftime을 사용하면 된다. 참고로 datetime.datetime.now()로 현재 날짜, 시간을 얻을 수 있다.

import datetime

today = datetime.datetime.now()
print(today)
>>>> '2021-06-06 00:23:55.736843'

## 방법 1
str(today)
>>>> '2021-06-06 00:24:28.669012'

## 방법 2
datetime.datetime.strftime(today, '%Y-%m-%d')
>>>> '2021-06-06'

datetime.datetime.strftime(today, '%D')
>>>> '06/06/21'

 

 

 

728x90
저작자표시 비영리 동일조건 (새창열림)

'python 메모' 카테고리의 다른 글

[python] requests 라이브러리 한글 인코딩  (0) 2021.07.27
[pandas] apply + custom function을 사용한 다중 입력 및 출력  (0) 2021.06.10
[python] First-Class Function과 Closure, Decorator  (0) 2021.06.01
[matplotlib] subplot 그리기  (0) 2021.05.19
[python] regex 메모  (0) 2021.05.07
  1. (1) string → datetime
  2. (2) datetime → string
'python 메모' 카테고리의 다른 글
  • [python] requests 라이브러리 한글 인코딩
  • [pandas] apply + custom function을 사용한 다중 입력 및 출력
  • [python] First-Class Function과 Closure, Decorator
  • [matplotlib] subplot 그리기
Fine애플
Fine애플
이것저것
Fine애플
끄적끄적
Fine애플
전체
오늘
어제
  • 분류 전체보기 (167)
    • 논문 및 개념 정리 (27)
    • Pattern Recognition (8)
    • 개발 (57)
    • python 메모 (45)
    • pytorch, tensorflow (5)
    • 알고리즘 (9)
    • Toy Projects (4)
    • 통계이론 (2)
    • Reinforcement Learning (10)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • Docker
  • python
  • transformer
  • PyTorch
  • 개발환경
  • ubuntu
  • Probability
  • container
  • pandas
  • Bert
  • reinforcement learning
  • 자연어
  • miniconda
  • nlp
  • BigBird
  • GPU
  • 알고리즘
  • 딥러닝
  • tensorflow
  • 언어모델

최근 댓글

최근 글

hELLO · Designed By 정상우.
Fine애플
[python] datetime 사용하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.