티스토리 뷰
발생일: 2015.12.23
키워드: python, 파이썬, strptime,
문제:
2015년 첫번째 주의 시작이 몇 일인지 가져오려고 한다.
해결책:
datetime 모듈의 strptime() 함수를 사용하면 된다.
> datetime.datetime.strptime('201501-1', '%Y%W-%w')
datetime.datetime(2015, 1, 5, 0, 0)
%w 는 어떤 요일을 한 주의 시작으로 볼 것인지를 판단하는 값이다.
0 = 일요일
1 = 월요일
위 코드는 월요일을 한 주의 시작으로 보았을 때, 2015년의 01번째 주에 해당하는 datetime 객체를 리턴한다.
리턴된 값을 보면, 2015년 1월 5일이 첫 주인 것을 알 수 있다.
마찬가지로, 아래 코드로 2015년의 50번째 주의 시작은 12월 14일인 것을 알 수 있다.
> datetime.datetime.strptime('201550-1', '%Y%W-%w')
datetime.datetime(2015, 12, 14, 0, 0)
논의:
비슷한 방법으로 오늘을 포함한 주가 몇 번째 주인지 알아올 수 있다.
# 오늘이 12월 14일이라고 가정해보자
> today = datetime.datetime.today()
datetime.datetime(2015, 12, 14, 0, 0, 0, 0)
# 월요일을 가져온다.
> last_monday = today - datetime.timedelta(days = today.weekday())
# 50번째 주가 된다
> cal = last_monday.isocalendar()
(2015, 50, 1)
> target_year = cal[0]
> target_week = cal[1]
참고:
반응형
댓글
공지사항