티스토리 뷰

발생일: 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]



참고:


반응형
댓글
공지사항