Python에서 날짜 형식을 지정하는 방법

개요

Python에는 즉시 사용할 수 있는 다양하고 유용한 개체가 함께 제공됩니다. 날짜 개체는 이러한 개체의 예입니다. 날짜 유형은 날짜와 시간의 복잡성으로 인해 처음부터 조작하기 어렵습니다. 그러나 Python 날짜 객체를 사용하면 날짜를 원하는 문자열 형식으로 매우 쉽게 변환할 수 있습니다.

날짜 형식 지정은 프로그래머로서 직면하게 되는 일반적인 작업이며, 애플리케이션에서 날짜를 노출하는 경우 최종 사용자에게 날짜를 적절하게 전달하는 것은 UX의 중요한 부분입니다.

전 세계 각 지역마다 날짜/시간을 나타내는 방법이 다르기 때문에 프로그래머로서의 목표는 사용자가 읽을 수 있는 방식으로 날짜 값을 표시하는 것입니다.

예를 들어 "02년 23월 2023일"과 같이 날짜 값을 숫자로 표현해야 할 수 있습니다. 반대로, "23년 2023월 XNUMX일"과 같이 더 긴 텍스트 형식으로 동일한 날짜 값을 작성해야 할 수도 있습니다. 다른 시나리오에서는 숫자 형식의 날짜 값에서 문자열 형식의 월을 추출할 수 있습니다.

이 기사에서는 다양한 유형의 날짜 개체와 해당 기능을 연구합니다.

날짜/시간 모듈

파이썬 datetime 모듈에는 날짜 및 시간 값 작업에 사용할 수 있는 메서드가 포함되어 있습니다. 이 모듈을 사용하려면 먼저 다음을 통해 가져옵니다. import 다음과 같이 진술:

import datetime

다음을 사용하여 시간 값을 나타낼 수 있습니다. time 수업. 에 대한 속성 time 클래스에는 시, 분, 초, 마이크로초가 포함됩니다.

참고 : 에 대한 인수 time 수업은 선택사항입니다. 인수를 지정하지 않으면 시간이 0으로 반환되지만 대부분의 경우 필요한 것은 아닐 것입니다.

예를 들어 다음을 사용하여 1시간, 10분, 20초, 13마이크로초 값으로 시간 객체를 초기화할 수 있습니다.

t = datetime.time(1, 10, 20, 13)

시간을 보려면 print 기능:

print(t)

시, 분, 초 또는 마이크로초와 같은 필드를 추출하려면 각 필드에 각각 액세스하면 됩니다.

print('hour:', t.hour)

위 시간의 분, 초, 마이크로초는 다음과 같이 검색할 수 있습니다.

print('Minutes:', t.minute) 
print('Seconds:', t.second) 
print('Microsecond:', t.microsecond) 

달력 날짜의 값은 다음을 통해 표시될 수 있습니다. date 수업. 인스턴스에는 연도, 월, 일에 대한 속성이 있습니다.

전화하자 today() 오늘 날짜를 보는 방법은 다음과 같습니다.

import datetime

today = datetime.date.today()
print(today) 

코드는 오늘 날짜를 반환하므로 표시되는 출력은 위 스크립트를 실행한 날짜에 따라 달라집니다.

이제 ctime 날짜를 다른 형식으로 인쇄하는 방법:

print('ctime:', today.ctime())

XNUMXD덴탈의 ctime 메서드는 이전에 본 예제보다 더 긴 날짜-시간 형식을 사용합니다. 이 방법은 주로 Unix-time(1년 1970월 XNUMX일 이후의 초 수)을 문자열 형식으로 변환하는 데 사용됩니다.

다음은 연도, 월, 일을 표시하는 방법입니다. date 수업:

print('Year:', today.year)
print('Month:', today.month)
print('Day :', today.day)

결과 :

Year: 2022
Month: 9
Day : 15

다음을 사용하여 날짜를 문자열로 변환 strftime ()

이제 날짜 및 시간 개체를 만드는 방법을 알았으니 더 읽기 쉬운 문자열로 형식을 지정하는 방법을 알아보겠습니다.

이를 달성하기 위해 우리는 strftime() 방법. 이 방법은 날짜 객체를 읽을 수 있는 문자열로 변환하는 데 도움이 됩니다. 다음 구문에 표시된 대로 두 개의 매개변수를 사용합니다.

time.strftime(format, t)

첫 번째 매개변수는 형식 문자열이고, 두 번째 매개변수는 형식을 지정할 시간이며 선택사항입니다.

이 방법은 다음과 같은 경우에도 사용할 수 있습니다. datetime 다음 예와 같이 객체를 직접적으로 사용합니다.

import datetime

x = datetime.datetime(2022, 9, 15)
print(x.strftime("%b %d %Y %H:%M:%S"))

모범 사례, 업계에서 인정하는 표준 및 포함된 치트 시트가 포함된 Git 학습에 대한 실습 가이드를 확인하십시오. 인터넷 검색 Git 명령을 중지하고 실제로 배움 이것!

날짜 형식을 지정하기 위해 다음 문자열을 사용했습니다.

  • %b: 월 이름의 처음 3자를 반환합니다. 이 예에서는 "Sep"을 반환했습니다.
  • %d: 1부터 31까지의 날짜를 반환합니다. 이 예에서는 "15"를 반환했습니다.
  • %Y: 연도를 2022자리 형식으로 반환합니다. 이 예에서는 "XNUMX"를 반환했습니다.
  • %H: 시간을 반환합니다. 이 예에서는 "00"을 반환했습니다.
  • %M: 00부터 59까지의 분을 반환합니다. 이 예에서는 "00"을 반환했습니다.
  • %S: 00부터 59까지의 초를 반환합니다. 이 예에서는 "00"을 반환했습니다.

시간이 경과되지 않았으므로 시간 값은 모두 "00"입니다. 다음 예에서는 시간 형식을 지정하는 방법도 보여줍니다.

import datetime

x = datetime.datetime(2022, 9, 15, 12, 45, 35)
print(x.strftime("%b %d %Y %H:%M:%S"))

전체 문자 코드 목록

위에 제시된 문자열 외에, strftime 이 메서드는 날짜 값 형식을 지정하기 위해 몇 가지 다른 지시문을 사용합니다.

  • %a: 평일의 처음 3자를 반환합니다(예: Wed).
  • %A: 요일의 전체 이름을 반환합니다(예: 수요일).
  • %B: 월의 전체 이름을 반환합니다(예: September).
  • %w: 요일을 0부터 6까지의 숫자로 반환합니다. 일요일은 0입니다.
  • %m: 월을 01부터 12까지의 숫자로 반환합니다.
  • %p: 시간에 대해 AM/PM을 반환합니다.
  • %y: 연도를 두 자리 형식, 즉 세기 없이 반환합니다. 예를 들어 '18' 대신 '2018'을 사용하세요.
  • %f: 000000부터 999999까지 마이크로초를 반환합니다.
  • %Z: 시간대를 반환합니다.
  • %z: UTC 오프셋을 반환합니다.
  • %j: 001부터 366까지의 일수를 반환합니다.
  • %W: 해당 연도의 주 번호를 00부터 53까지 반환하며, 월요일을 주의 첫 번째 날로 계산합니다.
  • %U: 해당 연도의 주 번호를 00부터 53까지 반환하며, 일요일은 각 주의 첫 번째 날로 계산됩니다.
  • %c: 현지 날짜 및 시간 버전을 반환합니다.
  • %x: 날짜의 로컬 버전을 반환합니다.
  • %X: 현지 버전의 시간을 반환합니다.

다음 예제를 고려하십시오.

import datetime

x = datetime.datetime(2022, 9, 15)
print(x.strftime('%b/%d/%Y'))

다음은 해당 월만 얻을 수 있는 방법입니다.

print(x.strftime('%B'))

연도를 표시해 보겠습니다.

print(x.strftime('%Y'))

이 예에서는 형식 코드를 사용했습니다. %Y. 공지 사항 그 Y 대문자입니다. 이제 소문자로 작성하세요.

print(x.strftime('%y'))

보시다시피, 이러한 형식 지정 코드를 사용하면 원하는 거의 모든 형식으로 날짜-시간을 표현할 수 있습니다.

strptime을 사용하여 문자열을 날짜로 변환

XNUMXD덴탈의 strftime() 메소드는 날짜 객체를 더 읽기 쉬운 문자열로 변환하는 데 도움이 되었습니다. 그만큼 strptime() 메서드는 그 반대입니다. 즉, 문자열을 가져와 Python이 이해할 수 있는 날짜 객체로 변환합니다.

이는 문자열 형식의 날짜를 수신하고 이를 다른 문자열 형식의 날짜로 변환하려는 경우에 유용합니다. 중간 날짜/시간 객체로 변환하면 다른 형식으로 다시 형식화할 수 있는 구문 분석된 구조에 액세스할 수 있습니다.

메소드의 구문은 다음과 같습니다.

datetime.strptime(string, format)

XNUMXD덴탈의 string 매개변수는 날짜 형식으로 변환하려는 문자열 형식의 값입니다. 그만큼 format 매개변수는 변환 후 날짜가 사용할 형식을 지정하는 지시어입니다.

예를 들어 문자열 "9/15/22"를 다음으로 변환해야 한다고 가정해 보겠습니다. datetime 목적.

먼저 import를 해보자 datetime 기준 치수:

from datetime import datetime

그런 다음 문자열 형식으로 날짜를 정의할 수 있습니다.

str = '9/15/22'

Python은 위 문자열을 실제 문자열로 변환할 때까지 날짜/시간으로 이해할 수 없습니다. datetime 물체. 우리는 다음을 호출함으로써 성공적으로 이를 수행할 수 있습니다. strptime 방법.

문자열을 변환하려면 다음 명령을 실행하십시오.

date_object = datetime.strptime(str, '%m/%d/%y')

이제 print 문자열을 표시하는 함수 datetime 형식 :

print(date_object)

보시다시피 변환이 성공했습니다!

이제 이 날짜 개체를 다른 문자열 형식으로 변환할 수 있습니다.

다양한 구분 기호를 처리하는 것은 형식 문자열에 사용하는 것만큼 쉽습니다.

from datetime import datetime

str = '9-15-22'
date_object = datetime.strptime(str, '%m-%d-%y')
print(date_object)

결론

이 기사에서는 Python에서 날짜 형식을 지정하는 방법을 연구했습니다. 우리는 어떻게 datetime Python의 모듈은 날짜 및 시간 값을 조작하는 데 사용할 수 있습니다. 모듈에는 이 목적으로 사용할 수 있는 여러 클래스가 포함되어 있습니다. 예를 들어, time 클래스는 시간 값을 나타내는 데 사용됩니다. date 클래스는 달력 날짜 값을 나타내는 데 사용됩니다.

타임 스탬프 :

더보기 스택카부스