답변:
import datetime
mydate = datetime.datetime.now()
mydate.strftime("%B")
반품 : 12 월
Python Doc 웹 사이트 에 대한 추가 정보
[편집 : @GiriB의 훌륭한 주석] %b
달 이름에 대한 짧은 표기법을 반환하는 것을 사용할 수도 있습니다 .
mydate.strftime("%b")
위의 예에서는를 반환 Dec
합니다.
mydate.strftime("%b")
월 이름에 대한 짧은 표기법을 반환합니다. (위의 예에서는을 반환합니다 Dec
)
현재 날짜가 중요하지 않기 때문에 주어진 숫자 (1-12)의 월 이름 만 알고 있으면 도움이되지 않습니다.
calendar.month_name[i]
또는
calendar.month_abbr[i]
더 유용합니다.
예를 들면 다음과 같습니다.
import calendar
for month_idx in range(1, 13):
print (calendar.month_name[month_idx])
print (calendar.month_abbr[month_idx])
print ("")
샘플 출력 :
January
Jan
February
Feb
March
Mar
...
month_name
와month_abbr
range(1, 13)
됩니다. 예제에서 사용 하는 것이 좋습니다 . 따라서 출력에서 12 개월을 모두 얻을 수 있습니다.
이것이 내가 할 것입니다 :
from datetime import *
months = ["Unknown",
"January",
"Febuary",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"]
now = (datetime.now())
year = (now.year)
month = (months[now.month])
print(month)
출력 :
>>> September
(이것이 내가 쓴 진짜 날짜였습니다)
일부 좋은의 대답은 이미 사용하게 달력을 하지만 설정의 효과 로케일은 아직 언급되지 않았습니다.
예를 들어 프랑스어로 :
import locale
import calendar
locale.setlocale(locale.LC_ALL, 'fr_FR')
assert calendar.month_name[1] == 'janvier'
assert calendar.month_abbr[1] == 'jan'
setlocale
코드 에서 사용할 계획이라면 설명서에서 팁과 경고 및 확장기 작성기 섹션 을 읽으십시오 . 여기에 표시된 예는 사용 방법을 나타내지 않습니다. 특히 다음 두 섹션에서
일반적으로 일부 라이브러리 루틴에서 setlocale ()을 호출하는 것은 좋지 않습니다. 부작용으로 전체 프로그램에 영향을 미치기 때문에 […]
확장 모듈은 setlocale ()을 호출해서는 안된다 […]
calendar
. 텍스트를 업데이트 할 수 있습니다.
8.1. datetime — 기본 날짜 및 시간 유형 — Python 2.7.17 설명서 https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
모든 strftime 인수의 목록입니다. 달의 이름과 서식을 0으로 채우는 것과 같은 멋진 것들. "순진한"인수 규칙과 같은 내용은 전체 페이지를 참조하십시오. 다음은 간단한 목록입니다. % a Sun, Mon,…, Sat
% 일요일, 월요일,…, 토요일
숫자로 % w 평일 (0은 일요일 임)
% d 달의 일 01, 02,…, 31
% b 1 월, 2 월,…, 12 월
% B 1 월, 2 월,…, 12 월
% m 0, 01, 02,…, 12의 월 번호
% y 2 자리 연도 0으로 채워짐 00, 01,…, 99
% Y 4 자리 1970 년, 1988 년, 2001 년, 2013 년
% H 시간 (24 시간제) 0으로 채워짐 00, 01,…, 23
% I 시간 (12 시간제) 0으로 채워짐 01, 02,…, 12
% p AM 또는 PM.
% M 분이 0으로 채워짐 00, 01,…, 59
% S 두 번째 0으로 채워진 00, 01,…, 59
% f 마이크로 초 제로 패딩 000000, 000001,…, 999999
+ HHMM 또는 -HHMM +0000, -0400, +1030 형식의 % z UTC 오프셋
% Z 시간대 이름 UTC, EST, CST
% j 001, 002,…, 366이 0 인 요일
% U 채워진 연도의 주 번호, 첫 번째 일요일 전날은 0 주입니다.
% W 연도의 주 번호 (월요일은 첫날)
% c 로케일의 날짜 및 시간 표현. 화 8 월 16 일 21:30:00 1988
% x 로케일 날짜 표시 1988 년 8 월 16 일 (en_US)
% X 로케일의 시간 표현. 21:30:00
%% 리터럴 '%'문자
숫자를 해당 월로 변환하는 자체 함수를 만들었습니다.
def month_name (number):
if number == 1:
return "January"
elif number == 2:
return "February"
elif number == 3:
return "March"
elif number == 4:
return "April"
elif number == 5:
return "May"
elif number == 6:
return "June"
elif number == 7:
return "July"
elif number == 8:
return "August"
elif number == 9:
return "September"
elif number == 10:
return "October"
elif number == 11:
return "November"
elif number == 12:
return "December"
그런 다음 함수를 호출 할 수 있습니다. 예를 들면 다음과 같습니다.
print (month_name (12))
출력 :
>>> December
calendar
모듈에 있습니다. 동일한 결과를 복제하기 위해 자체 함수를 작성하면 어떤 이점이 있습니까? 또한 사전은 일련의 elif 문보다 훨씬 빠릅니다.