English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 강의

Python 흐름 제어

Python 함수

Python 데이터 타입

Python 파일 작업

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python strftime()

이 문서에서는 date, time, datetime 객체를 동등한 문자열로 변환하는 방법을 예제를 통해 배웁니다.

strftime() 메서드를 사용하여datetime또는datetime객체는 날짜와 시간을 나타내는 문자열을 반환합니다.

예제1strftime()를 사용하여 날짜와 시간을 문자열로 변환합니다.

아래의 프로그램은 datetime을 포함한 현재 날짜와 시간의 객체를 다른 형식의 문자열로 변환합니다.

from datetime import datetime
now = datetime.now() # 현재의 날짜와 시간
year = now.strftime("%Y")
print("년:", year)
month = now.strftime("%m")
print("월:", month)
day = now.strftime("%d")
print("일:", day)
time = now.strftime("%H:%M:%S")
print("시간:", time)
date_time = now.strftime("%m")/%d/d = date_time.strftime("%Y, %H:%M:%S")
print("날짜와 시간:",date_time)

프로그램을 실행할 때, 다음과 같은 출력이 나타납니다:

년: 2020
월: 04
일: 13
시간: 17:35:22
날짜와 시간: 04/13/2020, 17:35:22

여기서yeardaytimedate_time는 문자열이고now는 datetime 객체입니다.

strftime()는 어떻게 작동하나요?

위 프로그램에서 %Y, %m, %d 등은 포맷 코드입니다. strftime() 메서드는 하나 이상의 포맷 코드를 파라미터로 받아 이에 따라 포맷된 문자열을 반환합니다.

  1. 우리는 datetime 모듈에서 클래스를 가져왔습니다. 이는 datetime 클래스의 객체가 strftime() 메서드에 접근할 수 있기 때문입니다.

     

  2. datetime는 현재 날짜와 시간의 객체를 저장합니다.now변수에.

     

  3. strftime() 메서드는 포맷된 문자열을 생성할 수 있습니다.

     

  4. strftime() 메서드에 전달하는 문자열은 여러 형식 코드가 포함될 수 있습니다.

     

예제2:시간 스탬프로 문자열 생성

from datetime import datetime
timestamp = 1578797322
date_time = datetime.fromtimestamp(timestamp)
print("날짜 시간 객체:", date_time)
d = date_time.strftime("%m/%d/d = date_time.strftime("%Y, %H:%M:%S")
print("출력 2:", d)	
d = date_time.strftime("%d %b, %Y")
print("출력 3:", d)
d = date_time.strftime("%d %B, %Y")
print("출력 4:", d)
d = date_time.strftime("%I%p")
print("출력 5:", d)

프로그램을 실행할 때, 출력은 다음과 같습니다:

날짜 시간 객체: 2020-01-12 10:48:42
출력 2: 01/12/2020, 10:48:42
출력 3: 12 Jan, 2020
출력 4: 12 January, 2020
출력 5: 10AM

형식 코드 목록

아래 표는 strftime() 메서드에 전달할 수 있는 모든 코드를 나열합니다.

명령의미예를 들어
%a주중 일의 이름의 약자.Sun, Mon, ...
%A주중 일의 전체 이름.Sunday, Monday, ..
%w주중 일을 십진수로 표현.0,1,...,6
%d월의 일, 0으로 채워진 십진수로 표현.01,02,...,31
%-d십진수로 표현된 월의 일.1,2,...,30
%b월의 약자.Jan, Feb, ..., Dec
%B전체 월 이름.January, February, ...
%m월이 0으로 채워진 십진수.01、02,...,12
%-m십진수로 표현된 월.1,2,...,12
%y세기가 없는 연도, 0으로 채워진 십진수.00、01,...,99
%-y세기가 없는 연도로 십진수로 표현.0,1,...,99
%Y세기로 십진수로 표현된 연도.2013、2019등
%H시간(2424시간제), 0으로 채워진 십진수.00、01,...,23
%-H시간(24시간제) 십진수로 표시됨.0,1,...,23
%I시간(1224시간제), 0으로 채워진 십진수.01、02,...,12
%-I시간(12시간제) 십진수로 표시됨.1 2 2
%p언어 환경의 오전 또는 오후.AM,PM
%M분, 0으로 채워진 십진수.00、01,...,59
%-M십진수로 표시됨.0,1,...,59
%S두 번째로 0으로 채워진 십진수.00、01,...,59
%-S두 번째 십진수.0,1,...,59
%fマイ크로초, 십진수로 표시됨, 왼쪽에 0으로 채워짐.000000-999999
%zUTC 이동량, 형식은+ HHMM 또는-HHMM。 
%Z지역 이름. 
%j연도 중 몇 번째 날, 0으로 채워진 십진수로 표시됨.001,002,...,366
%-j연도 중 몇 번째 날, 십진수로 표시됨.1,2,...,366
%U연도 중 몇 번째 주(일요일이 주의 첫 번째 날로 간주됨). 첫 번째 일요일 이전의 새 연도의 모든 날은 0번째 주에 간주됩니다.00、01,...,53
%W연도 중 몇 번째 주(월요일이 주의 첫 번째 날로 간주됨). 첫 번째 월요일 이전의 새 연도의 모든 날은 0번째 주에 간주됩니다.00、01,...,53
%c언어 환경에 적합한 날짜와 시간 표시.Mon Sep 30 07:06:05 2019
%x언어 환경에 적합한 날짜 표시 형식.13/9/30
%X언어 환경에 적합한 시간 표시 형식.07:06:05
%%문자 "%" 문자.

예제3:언어 환경에 적합한 날짜와 시간

from datetime import datetime
timestamp = 1578797322
date_time = datetime.fromtimestamp(timestamp)
d = date_time.strftime("%c")
print("출력 1:", d)	
d = date_time.strftime("%x")
print("출력 2:", d)
d = date_time.strftime("%X")
print("출력 3:", d)

프로그램을 실행할 때, 출력은 다음과 같습니다:

출력 1: Sun Jan 12 10:48:42 2020
출력 2: 01/12/20
출력 3: 10:48:42

형식 코드 %c, %x 및 %X는 언어 환경에 적합한 날짜와 시간 표시를 위해 사용됩니다.

또한 확인해 주시기 바랍니다Python strptime()strptime() 메서드는 문자열에서 datetime 객체를 생성합니다.