Python에서 날짜와 시간을 다루는 모듈을 사용해야 해서 찾아보는데 꽤 종류가 많아서 정리해보려고 합니다.


datetime.now() 함수(현재 시간 표현하기)

import datetime
 
now = datetime.datetime.now()
print(now)
# 현재 시간을 나타냄
# 2019-02-06 18:29:36.768516
 
Date = now.strftime('%Y-%m-%d')
print(Date)
# 현재 시간의 년/월/일만 표시
# 2019-02-06
 
Time = now.strftime('%H:%M:%S')
print(nowTime)
# 현재 시간의 시/분/초만 표시
# 18:29:36
 
DateAndTime = now.strftime('%Y-%m-%d %H:%M:%S')
print(DateAndTime)
# 현재 시간을 '년'-'월'-'일' '시':'분':'초'의 형태의 문자열로 표현
# DateAndTime에는 string 값이 들어가 있음


String 형태로 된 날짜와 시간을 datetime 값으로 바꾸려면 특정 함수를 사용해야 합니다.


datetime.strptime() 함수(str to datetime)

import datetime

StrDateTime = '2019-02-06 18:29:36'
DateTime = datetime.datetime.strptime(StrDateTime, '%Y-%m-%d %H:%M:%S')
print(type(DateTime))
# datetime 형태의 <class 'datetime.datetime'>가 출력됨 --> 문자열 형태가 아님
print(DateTime)
# datetime 형태의 값으로 2019-02-06 18:29:36이 출력됨 --> 문자열 형태가 아님


만약 datetime 형태로 된 날짜와 시간을 string 값으로 바꾸려면 다음과 같은 함수를 사용해야 합니다.


datetime.strftime() 함수(datetime to str)

import datetime

nowDateTime = datetime.datetime.now()
strDateTime = datetime.strftime('%Y-%m-%d %H:%M:%S')
print(type(DateTime))
# str 형태라고 출력됨
print(DateTime)
# 2019-02-06 18:29:36 -- 현재 시간이 출력됨



datetime.replace() 함수(시간 및 날짜 변경)

import datetime
 
DateTime = datetime.datetime.strptime('2019-02-06 18:29:36', '%Y-%m-%d %H:%M:%S')
print(DateTime) 
# 2019-02-06 18:29:36
 
AnotherDateTime = DateTime.replace(day=7)

print(DateTime) 
# 2019-02-06 18:29:36
print(AnotherDateTime)
# 2019-02-07 18:29:36


만약 datetime 값의 특정 날짜 혹은 시간을 바꿔주기 위해서는 replace 함수를 사용해야 합니다.

또한 변경하고자 하는 날짜 혹은 시간을 인자값으로 넣어주어야 합니다.


사용할 수 있는 인자값의 종류는 다음과 같습니다.


1. year (년도)

2. month (월)

3. day (날짜)

4. hour (시간)

5. minute (분)

6. second (초)

7. microsecond(마이크로 초)


이밖에도 응용할 수 있는 방법은 여러가지가 있습니다.


'PYTHON > Python 3.x' 카테고리의 다른 글

[Python] 딕셔너리 정렬하기  (1) 2019.02.05

+ Recent posts