Python의 Datetime 현재 연도 및 월


90

datetime에 현재 연도와 월이 있어야합니다.

나는 이것을 사용한다 :

datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")

다른 방법이 있습니까?


무슨 뜻 date.today().strftime("%Y-%m")입니까?
00schneider

답변:


114

사용하다:

from datetime import datetime
today = datetime.today()
datem = datetime(today.year, today.month, 1)

나는 당신이 그 달의 첫 번째를 원한다고 가정합니다.


1
@ user3778327 : today변수에 이미 현재 연도와 월이 있습니다.
jfs 2015 년

18
이 솔루션의 from datetime import datetime경우 단순히 사용하는 것이 아니라import datetime
jpobst

@jpobst 저는 Python 3.8.1 및 datetime-4.3 zope.interface-4.7.1을 사용하고 있으며 위의 코드 ( import datetime 포함 )가 저에게 효과적입니다. 내가 작성하는 경우 날짜 가져 오기 날짜에서 , 그것은 나에게 발생 유형 오브젝트 'datetime.datetime가'더 속성 '날짜'가 없습니다 : AttributeError가
jeppoo1

127

이 솔루션을 시도하십시오.

from datetime import datetime

currentSecond= datetime.now().second
currentMinute = datetime.now().minute
currentHour = datetime.now().hour

currentDay = datetime.now().day
currentMonth = datetime.now().month
currentYear = datetime.now().year

1
작품, 감사합니다! 다른 답변에서 사용되는 .now()것보다 장점이 .today()있습니까? now()기능이 더 일반적으로 사용되는, 짧은 ...하지만 모든 사람이 알고 싶어 할 때 다른 한 사용하는 어떤 이유가 그것이 무엇 올해는?

1
@hashlash 감사합니다! 다른 사람에게 클릭을 저장하지 않으려면 : 아니, 정말

무엇을 from datetime하고 왜 필요합니까?
Cadoiz

1
@Cadoiz-datetime 패키지에는 날짜 만 처리 하는 date하위 모듈 ( from datetime import date), time시간을 처리 하는 하위 모듈, datetime두 가지를 모두 수행 하는 아쉽게도 이름이 지정된 하위 모듈이 있습니다. 도 있습니다 timedelta그리고 tzinfo거기에. import datetime모든 하위 모듈이 포함 된 전체 패키지를 가져올 수 있지만 메서드 호출은 datetime.datetime.now()또는 datetime.date.today(). 일반적으로 필요한 구성 요소 만 가져 오는 것이 여러 가지 이유로 더 좋습니다.
dannysauer

68

사용하다:

from datetime import datetime

current_month = datetime.now().strftime('%m') // 02 //This is 0 padded
current_month_text = datetime.now().strftime('%h') // Feb
current_month_text = datetime.now().strftime('%B') // February

current_day = datetime.now().strftime('%d')   // 23 //This is also padded
current_day_text = datetime.now().strftime('%a')  // Fri
current_day_full_text = datetime.now().strftime('%A')  // Friday

current_weekday_day_of_today = datetime.now().strftime('%w') //5  Where 0 is Sunday and 6 is Saturday.

current_year_full = datetime.now().strftime('%Y')  // 2018
current_year_short = datetime.now().strftime('%y')  // 18 without century

current_second= datetime.now().strftime('%S') //53
current_minute = datetime.now().strftime('%M') //38
current_hour = datetime.now().strftime('%H') //16 like 4pm
current_hour = datetime.now().strftime('%I') // 04 pm

current_hour_am_pm = datetime.now().strftime('%p') // 4 pm

current_microseconds = datetime.now().strftime('%f') // 623596 Rarely we need.

current_timzone = datetime.now().strftime('%Z') // UTC, EST, CST etc. (empty string if the object is naive).

참조 : 8.1.7. strftime () 및 strptime () 동작

참조 : strftime () 및 strptime () 동작

위의 내용은 현재 또는 오늘뿐만 아니라 모든 날짜 구문 분석에 유용합니다. 모든 날짜 구문 분석에 유용 할 수 있습니다.

e.g.
my_date = "23-02-2018 00:00:00"

datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S+00:00')

datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%m')

등등...



6

항상 하위 문자열 방법을 사용할 수 있습니다.

import datetime;

today = str(datetime.date.today());
curr_year = int(today[:4]);
curr_month = int(today[5:7]);

그러면 현재 월과 연도를 정수 형식으로 얻을 수 있습니다. 문자열이되도록하려면 변수 curr_year및에 값을 할당하는 동안 "int"우선 순위를 제거하기 만하면 curr_month됩니다.


5
이것은 나쁘다. 왜 그것을 캐스트하고 문자열 조작을해야합니까? datetime.datetime.now().month더 나은.
Ahmed

5

늦은 답변이지만 다음을 사용할 수도 있습니다.

import time
ym = time.strftime("%Y-%m")

1
늦었지만 틀린 것은 아니며 datetime을 사용하는 것보다 명확합니다. 감사 :).
ivanleoncz

4
>>> from datetime import date
>>> date.today().month
2
>>> date.today().year
2020
>>> date.today().day
13
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.