python
[Python] datetime 와 strftime()과 strptime() 비교
http://portfolio.wonpaper.net
2022. 5. 6. 23:57
날짜와 시간 모듈이다.
https://docs.python.org/ko/3/library/datetime.html
strftime() 과 strptime() 비교
https://docs.python.org/ko/3/library/datetime.html#strftime-strptime-behavior
date, datetime 및 time 객체는 모두 strftime(format) 메서드를 지원하여, 명시적 포맷 문자열로 제어된 시간을 나타내는 문자열을 만듭니다.
반대로, datetime.strptime() 클래스 메서드는 날짜와 시간을 나타내는 문자열과 해당 포맷 문자열로 datetime 객체를 만듭니다.
아래 표는 strftime()과 strptime()의 고수준 비교를 제공합니다:
strftimestrptime
용도 | 주어진 포맷에 따라 객체를 문자열로 변환합니다 | 주어진 해당 포맷으로 문자열을 datetime 객체로 구문 분석합니다 |
메서드의 형 | 인스턴스 메서드 | 클래스 메서드 |
메서드가 제공되는 곳 | date; datetime; time | datetime |
서명 | strftime(format) | strptime(date_string, format) |
skogkatt 님의 잘 정리된 아래 소스를 소개한다.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
import datetime
# 현재 날짜 가져오기
# datetime. 을 생략하고 싶으면 from datetime import datetime 으로
datetime.datetime.today()
datetime.datetime.now()
print(datetime.datetime.now()) # 2020-01-07 15:40:15.087337
now = datetime.datetime.now()
print(now) # 2020-01-07 15:40:15.087337
print("\n")
# 년, 월, 일, 시, 분, 초
print(now.year) # 2020
print(now.month) # 1
print(now.day) # 7
print(now.hour) # 15
print(now.minute) # 40
print(now.second) # 15
print(now.microsecond) # 087337
print("\n")
# 날짜, 시간 연산 : datetime.timedelta(시간 단위=숫자)
# 시간 단위는 weeks, days, hours, minutes, seconds, milliseconds, microseconds 사용 가능
print(now + datetime.timedelta(weeks=1)) # 2020-01-14 15:40:15.087337
print(now + datetime.timedelta(days=1)) # 2020-01-08 15:40:15.087337
print(now + datetime.timedelta(hours=5, minutes=10)) # 2020-01-07 20:50:15.087337
print("\n")
# 시간을 문자열로 (원하는 포맷으로) : strftime()
print(now.strftime('%Y-%m-%d')) # 2020-01-07
print(now.strftime('%H:%M:%S')) # 15:40:15
print(now.strftime('%Y-%m-%d %H:%M:%S')) # 2020-01-07 15:40:15
print("\n")
# 시간 포맷의 문자열을 시간 형식으로 : strptime()
print(datetime.datetime.strptime('2020-01-07 15:40:15', '%Y-%m-%d %H:%M:%S'))
# 2020-01-07 15:40:15
print(type(datetime.datetime.strptime('2020-01-07 15:40:15', '%Y-%m-%d %H:%M:%S')))
# <class 'datetime.datetime'>
|
cs |
참고 : https://skogkatt.tistory.com/87?category=870165