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 |
---|