Python에서 현재 날짜 및 시간을 가져오고 표시하는 방법에 대하여 알아봅니다. 어떻게 할 수 있을까요?

파이썬에서 자주 사용되는 방법으로 datetime 그리고 time 모듈을 사용하는 방법이 있습니다. 이 두 모듈은 모두 현재 날짜와 시간을 불러오거나 출력할 수 있습니다.



# Python 날짜, 시간 정보 가져오기
그럼 각각 자세히 알아보도록 하겠습니다. 먼저 time모듈을 사용하는 방법입니다. 일단 time 모듈을 불러옵니다.

import time


이제 불러온 모듈을 사용하여 여러가지 날짜, 시간 등을 사용해보겠습니다. 사용 방법은 간단한데요 strftime() 메소드를 사용하여 원하는 포맷을 인자로 넘겨줍니다. 그럼 원하는 값을 반환하죠.
// 간단한 시분초 값을 불러오기
time.strftime('%H%M%S')

'111626'
// 현재 시간인 11시 16분 26초를 출력함

이처럼 인자에 포맷만 정해주면 됩니다. 다양한 포맷을 알아보기 앞서 / 또는 : 등의 구분자를 사용할 수 있습니다. 아래처럼 구분자를 추가하면 어떻게될까요?


! 타임스팸프(Timestamp) 값 가져오기
세컨드 값을 표기하는 타임스팸프 값은 아래와 같이 time 모듈을 사용하여 간단하게 가져올 수 있습니다.
import time

time.time()
1586337535.9475923

위와 같이 소수점으로 표기됩니다. 소수점이 필요하지 않다면 아래처럼 버림으로 출력할 수 있습니다.
int(time.time())


! 현재시간 시:분:초 나타내기
간단하게 구분자로 콜론을 사용하여 나타내려고 합니다.
time.strftime('%H' + ':' + '%M' + ':' + '%S')
time.strftime('%H:%M:%S')

//  모두 '11:18:44'를 출력함

위 두 가지 방법 모두 동일하게 출력됩니다. 다만 위에서는 + 기호를 사용하여 구분자 :(콜론)을 추가하였으며 아래는 + 기호 없이 사용하였습니다. + 없이도 이처럼 사용할 수 있습니다.

@ / 나누기 기호를 사용하기
위의 :만 /로 바꾸어 사용합니다.
time.strftime('%H/%M/%S')

// '11/18/44'를 출력함

예상대로 구분자 /가 추가되었습니다. 아래부터는 좀 더 다양한 예제입니다. 시간과 날짜 년월일을 사용하는 다양한 방법을 알아봅니다.
time.strftime('%D')
'12/31/19'

time.strftime('%Y')
'2019'

time.strftime('%y')
'19'
// 소문자 y는 축약으로 두 자리 연도를 표기함

time.strftime('%m')
'12'
// 해당 월을 출력, 표기함

time.strftime('%d')
'31'
// 해당 일을 출력, 표기함

time.strftime('%a')
'Tue'
time.strftime('%A')
'Tuesday'
// 해당 요일을 출력, 표기함


time.strftime('%y-%m-%d')
'19-12-31'
// 현재 년-월-일 출력

time.strftime('%y-%m-%d %H:%M:%S')

// 현재 년-월-일 시:분:초 출력

여기까지 자주 사용되는 예제들입니다.


@ Directive 정보보기
앞에 사용된 각각의 포맷 디렉티브의 상세 정보입니다.

%a - 요일의 축약 이름
%A - 요일의 풀 이름

%y - 년도 표시 0부터 99로 표기함
%Y - 년도 전체를 표기함 Ex) 2020
%m - 월을 표기함 (1 부터 12)
%d - 일자를 표기함 (1부터 31)

%I - 시를 표시함 (0 부터 12)
%H - 시를 표시함 (0 부터 23)
%M - 분을 표시함
%S - 초를 표시함

%z - 타임존 차이값을 출력함 Ex) +0900

여기까지 time 모듈에 대하여 여러가지를 상세히 알아봤습니다.



# datetime 모듈을 사용하는 방법
time과 함께 많이 사용되는 datetime 모듈 역시 간단하게 날짜를 가져올 수 있습니다.

import datetime


만약 오늘 날짜를 가져오려면? 아래의 방법으로 오늘 날짜를 가져옵니다.
_today = datetime.datetime.now().now()

or

_today = datetime.datetime.now().today()

만약 문자열이 필요한 경우 str()을 사용하면 문자로 가져올 수 있습니다.
str(datetime.datetime.now().time())
'2019-12-31 12:53:15.521230'

만약 년, 월, 일 또는 시, 분, 초는 다음과 같이 가져올 수 있죠. 먼저 년, 월, 일입니다.
datetime.datetime.now().today().year
// '2019' 년도를 출력함

datetime.datetime.now().today().month
// '12' 월을 출력함

datetime.datetime.now().today().day
// '31' 해당 일을 출력함

다음은 시간, 분, 초를 출력해보겠습니다.
datetime.datetime.now().today().hour
// '12' 현재 시간을 출력함

datetime.datetime.now().today().minute
// '55' 현재 분을 출력함

datetime.datetime.now().today().second
// '25' 초를 출력함

이처럼 연도 및 시간을 출력할 수 있습니다.

여기까지 파이썬에서 년, 월, 일 날짜 및 시간 출력 방법을 알아보았습니다.