48. 파이썬에서 날짜를 다룰 수 있게 datetime 모듈을 제공해요.

 

안녕하세요. 언제나 휴일의 언휴예요. 이번에는 날짜를 표현하기 위해 제공하는 datetime 모듈을 간략하게 살펴볼게요.

 

datetime 모듈에서 제공하는 유용한 타입에는 date, time, datetime, timedelta, tzinfo, timezone 등이 있어요.

date : 날짜

time: 일시

datetime: 날짜와 일시

timedelta: 시간 계산

tzinfo: 지역화 시간 정보

timezone: 지역화 시간

 

여기에서는 오늘 날짜와 시각을 확인하는 것과 오늘 날짜에서 특정 일 수 이전의 날짜를 계산하는 것, 특정 시간 이후의 날짜와 시각을 확인하는 것 등을 해 볼게요.

 

먼저 datetime 모듈에서 자주 사용할 타입을 import 하세요.

#파이썬에서 날짜를 다룰 수 있게 datetime 모듈을 제공해요.

 

오늘을 얻어올 때는 datetime의 now메서드를 이용하세요.

 

특정 날짜(및 시각)을 기준으로 상대적인 날짜(및 시각)를 구할 때는 timedelta를 사용합니다. 입력 인자로 (days=9)라고 표현하면 9일 뒤를 계산해주며 (hours=9)를 전달하면 9시간 후를 계산합니다. 사용자로부터 몇일 전과 몇 시간 후를 입력받아 계산하는 부분을 작성해 보세요.

 

datetime은 빼기 연산을 통해 시간을 계산할 수 있어요.

 

원하는 형태로 출력할 때는 datetime의 strftime메서드를 이용합니다. 참고로 입력 인자로 ‘%x’는 날짜를 나타내며 ‘%X’는 시각을 나타냅니다.

 

다음은 현재까지 실습한 소스 코드와 실행 화면입니다.

 

[그림 1] 실행화면
[그림 1] 실행화면

다음은 datetime 형식의 strftime 메서드에 입력 인자로 전달하는 값에 관한 표입니다.

표시 의미
%a 요일을 짧게 표시 Sun, Mon, …, Sat
%A 요일을 표시 Sunday
%w 한 주에서 몇 번인지 표시(일요일은 0, 토요일은 6) 0, 1, …, 6
%d 달에서의 일 01, 02, …, 31
%b 월을 간략하게 표시 Jan, Feb, …, Dec
%B 월을 표시 January
%m 월을 10진수로 표시 01, 02, …, 12
%y 년도의 뒷2자리 00, 01, …, 99
%Y 년도 0001, 0002, …, 2013, 2014, …, 9998, 9999
%H 시(0~23) 00, 01, …, 23
%I 시(1~12) 01, 02, …, 12
%p AM or PM AM, PM
%M 00, 01, …, 59
%S 00, 01, …, 59
%f 마이크로 초 000000, 000001, …, 999999
%z UTC 오프셋 (empty), +0000, -0400, +1030
%Z Time zone name (empty), UTC, EST, CST
%j 001, 002, …, 366
%U 1년 중 몇 번째 주인가(0부터 시작, 일요일이 1주의 시작 요일) 00, 01, …, 53
%W 1년 중 몇 번째 주인가(0부터 시작, 월요일이 1주의 시작 요일) 00, 01, …, 53
%c 일시 Tue Aug 16 21:30:00 1988
%x 년월일 08/16/88 (None);

08/16/1988 (en_US);

16.08.1988 (de_DE)

%X 시분초 21:30:00 (en_US);

21:30:00 (de_DE)

%% %문자 %