[PYTHON] 파이썬 : 주어진 날짜로부터 주 데이터의 시작과 끝주기
PYTHON파이썬 : 주어진 날짜로부터 주 데이터의 시작과 끝주기
day = "13/Oct/2013"
print("Parsing :",day)
day, mon, yr= day.split("/")
sday = yr+" "+day+" "+mon
myday = time.strptime(sday, '%Y %d %b')
Sstart = yr+" "+time.strftime("%U",myday )+" 0"
Send = yr+" "+time.strftime("%U",myday )+" 6"
startweek = time.strptime(Sstart, '%Y %U %w')
endweek = time.strptime(Send, '%Y %U %w')
print("Start of week:",time.strftime("%a, %d %b %Y",startweek))
print("End of week:",time.strftime("%a, %d %b %Y",endweek))
print("Data entered:",time.strftime("%a, %d %b %Y",myday))
out:
Parsing : 13/Oct/2013
Start of week: Sun, 13 Oct 2013
End of week: Sat, 19 Oct 2013
Sun, 13 Oct 2013
지난 2 일 동안 파이썬을 배웠고 이것을 할 수있는 더 깨끗한 방법이 있는지 궁금해하고있었습니다.이 방법은 효과가 있습니다 ...보기 흉한 것처럼 보입니다. 각 날짜마다 새로운 시간 변수를 만들어야한다는 것은 어리석은 일입니다. 주어진 날짜를 시작과 끝으로 간단한 호출을 통해 상쇄하는 방법이 되겠지만, 인터넷이나 문서에서 작동하는 것처럼 보이는 것을 찾을 수 없었습니다.
해결법
-
==============================
1.datetime 모듈을 사용하십시오.
datetime 모듈을 사용하십시오.
월요일부터 일요일까지 시작일과 종료일이 표시됩니다.
from datetime import datetime, timedelta day = '12/Oct/2013' dt = datetime.strptime(day, '%d/%b/%Y') start = dt - timedelta(days=dt.weekday()) end = start + timedelta(days=6) print(start) print(end)
편집하다:
print(start.strftime('%d/%b/%Y')) print(end.strftime('%d/%b/%Y'))
-
==============================
2.표준 시간 형식을 유지하고 현재 날짜를 참조하려면 약간의 차이가 있습니다.
표준 시간 형식을 유지하고 현재 날짜를 참조하려면 약간의 차이가 있습니다.
from datetime import datetime, timedelta today = datetime.now().date() start = today - timedelta(days=today.weekday()) end = start + timedelta(days=6) print("Today: " + str(today)) print("Start: " + str(start)) print("End: " + str(end))
from https://stackoverflow.com/questions/19216334/python-give-start-and-end-of-week-data-from-a-given-date by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Python으로 csv 파일에 헤더 추가 (0) | 2018.10.29 |
---|---|
[PYTHON] 파이썬에서의 엡실론 값 (0) | 2018.10.29 |
[PYTHON] 모듈을 가져 오는 위치는 어디입니까? (0) | 2018.10.29 |
[PYTHON] pandas 데이터 프레임의 열을 하나씩 변경 하시겠습니까? (0) | 2018.10.29 |
[PYTHON] 이 간단한 예제에서 datetime.strptime이 작동하지 않는 이유는 무엇입니까? (0) | 2018.10.29 |