파이썬에서 현재 날짜와 시간을 가져오는 방법은 여러 가지가 있습니다. 그중 가장 간단한 방법은 datetime 모듈을 사용하는 것입니다. 이 모듈에는 현재 날짜와 시간을 반환하는 now() 함수가 내장되어 있어 별도의 설치 없이 바로 활용할 수 있습니다.
예제
import datetime
now = datetime.datetime.now()
print("Current date and time: ")
print(str(now))출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
2017-12-29 11:24:48.042720
strftime()으로 원하는 형식 지정하기
strftime() 함수를 사용하면 날짜와 시간을 원하는 형식으로 변환하여 출력할 수 있습니다. 이 함수는 형식 문자열(format string)을 인자로 받으며, 아래 표에 정리된 다양한 지시문(directive)을 지원합니다.
| 지시문 | 의미 |
|---|---|
| %a | 해당 지역(locale)의 축약된 요일 이름. |
| %A | 해당 지역의 전체 요일 이름. |
| %b | 해당 지역의 축약된 월 이름. |
| %B | 해당 지역의 전체 월 이름. |
| %c | 해당 지역에 적합한 날짜 및 시간 표현. |
| %d | 월중 일(day of month), 10진수 [01,31]. |
| %H | 시(24시간제), 10진수 [00,23]. |
| %I | 시(12시간제), 10진수 [01,12]. |
| %j | 연중 일(day of year), 10진수 [001,366]. |
| %m | 월(month), 10진수 [01,12]. |
| %M | 분(minute), 10진수 [00,59]. |
| %p | 해당 지역의 AM 또는 PM 표기. |
| %S | 초(second), 10진수 [00,61]. |
| %U | 연중 주차(일요일이 한 주의 시작), 10진수 [00,53]. 새해 첫 일요일 이전의 모든 날은 0주로 간주됩니다. |
| %w | 요일, 10진수 [0(일요일),6]. |
| %W | 연중 주차(월요일이 한 주의 시작), 10진수 [00,53]. 새해 첫 월요일 이전의 모든 날은 0주로 간주됩니다. |
| %x | 해당 지역에 적합한 날짜 표현. |
| %X | 해당 지역에 적합한 시간 표현. |
| %y | 세기 없는 연도, 10진수 [00,99]. |
| %Y | 세기를 포함한 연도, 10진수. |
| %Z | 시간대(time zone) 이름 (시간대가 없으면 빈 문자열). |
| %% | 리터럴 "%" 문자. |
예제
위에서 소개한 지시문들은 strftime() 함수에서 다음과 같이 조합하여 사용할 수 있습니다.
import datetime
now = datetime.datetime.now()
print("Current date and time: ")
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print(now.strftime('%H:%M:%S on %A, %B the %dth, %Y'))출력 결과
실행하면 다음과 같은 결과를 얻을 수 있습니다.
2017-12-29 12:19:13 12:19:13 on Friday, December the 29th, 2017