복붙노트

[PYTHON] 주 번호에서 날짜 가져 오기

PYTHON

주 번호에서 날짜 가져 오기

내 코드가 잘못된 이유는 무엇입니까?

import datetime
d = "2013-W26"
r = datetime.datetime.strptime(d, "%Y-W%W")
print(r)

"2013-01-01 00:00:00"표시, 감사합니다.

해결법

  1. ==============================

    1.주 번호만으로는 날짜를 생성 할 수 없습니다. 당신은 요일을 필요로합니다. 기본값 추가 :

    주 번호만으로는 날짜를 생성 할 수 없습니다. 당신은 요일을 필요로합니다. 기본값 추가 :

    import datetime
    d = "2013-W26"
    r = datetime.datetime.strptime(d + '-0', "%Y-W%W-%w")
    print(r)
    

    -0 및 - % w 패턴은 해당 주에 일요일을 선택하도록 파서에 지시합니다. 이 결과는 다음과 같습니다.

    2013-07-07 00:00:00
    

    유스 케이스에 가장 적합한 요일을 직접 선택할 수 있습니다. % W 패턴은 월요일부터 주 단위이므로 아마 여기 -1이 더 좋은 기본값입니다.

    문서의 각주 4에서 strftime () 및 strptime () 비헤이비어 섹션을 참조하십시오.

  2. ==============================

    2.

    import datetime
    res = datetime.datetime.strptime("2018 W30 w1", "%Y %W w%w")
    print res
    

    1 주일에 1을 더하면 정확한 주 시작이됩니다. timedelta (days = 6)를 추가하면 주말이 끝납니다.

    datetime.datetime(2018, 7, 23)
    
  3. ==============================

    3.제로 주 문제를 포함한 편리한 함수가 있습니다.

    제로 주 문제를 포함한 편리한 함수가 있습니다.

  4. from https://stackoverflow.com/questions/17087314/get-date-from-week-number by cc-by-sa and MIT license