다음을 확인하고 싶습니다. 날짜 ( datetime
개체), 해당 요일은 무엇입니까?
예를 들어, 일요일은 첫째 날, 월요일 : 둘째 날 등입니다.
그리고 입력이 오늘 날짜와 같은 것이면.
예
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
출력은 아마도 6
(금요일이기 때문에)
답변
사용 weekday()
( 문서 ) :
>>> import datetime
>>> datetime.datetime.today()
datetime.datetime(2012, 3, 23, 23, 24, 55, 173504)
>>> datetime.datetime.today().weekday()
4
설명서에서 :
요일을 정수로 리턴하십시오. 여기서 월요일은 0이고 일요일은 6입니다.
답변
영어로 날짜를 갖고 싶다면 :
from datetime import date
import calendar
my_date = date.today()
calendar.day_name[my_date.weekday()] #'Wednesday'
답변
영어로 날짜를 갖고 싶다면 :
>>> from datetime import datetime
>>> datetime.today().strftime('%A')
'Wednesday'
더 읽기 :
https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
답변
date.weekday()
또는을 사용하십시오 date.isoweekday()
.
답변
CodeChef 질문으로 이것을 해결했습니다 .
import datetime
dt = '21/03/2012'
day, month, year = (int(x) for x in dt.split('/'))
ans = datetime.date(year, month, day)
print (ans.strftime("%A"))
답변
1700/1/1 이후의 날짜에 대한 가져 오기가없는 솔루션
def weekDay(year, month, day):
offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
week = ['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
afterFeb = 1
if month > 2: afterFeb = 0
aux = year - 1700 - afterFeb
# dayOfWeek for 1700/1/1 = 5, Friday
dayOfWeek = 5
# partial sum of days betweem current date and 1700/1/1
dayOfWeek += (aux + afterFeb) * 365
# leap year correction
dayOfWeek += aux / 4 - aux / 100 + (aux + 100) / 400
# sum monthly and day offsets
dayOfWeek += offset[month - 1] + (day - 1)
dayOfWeek %= 7
return dayOfWeek, week[dayOfWeek]
print weekDay(2013, 6, 15) == (6, 'Saturday')
print weekDay(1969, 7, 20) == (0, 'Sunday')
print weekDay(1945, 4, 30) == (1, 'Monday')
print weekDay(1900, 1, 1) == (1, 'Monday')
print weekDay(1789, 7, 14) == (2, 'Tuesday')
답변
날짜가 datetime 객체 인 경우 솔루션입니다.
import datetime
def dow(date):
days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
dayNumber=date.weekday()
print days[dayNumber]