2 년 숫자를 사용하여 전송()는 구문 분석할 수 있는 아주 잘 생일

StackOverflow https://stackoverflow.com/questions/3283209

  •  17-09-2020
  •  | 
  •  

문제

다음 생일(로 dob):

  • 1-Jun-68
  • 1-Jun-69

면 분석을 가진 파이의 datetime.strptime(dob, '%d-%b-%y') 니다 수확량:

  • datetime.datetime(2068, 6, 1, 0, 0)
  • datetime.datetime(1969, 6, 1, 0, 0)

물론 그들은 해야에서 태어난 같은 십 년간 그러나 지금은 심지어 같은 세기에!

에 따라 문서 이것은 완벽하게 유효한 행동:

을 때 2-자리 연도 받아들여지고,그에 따라 변환 POSIX 또는 X/열 표준:값 69-99 매핑되 1969-1999, 고 값 0-68 매핑되 2000-2068.

왜 기능은 다음과 같이 설정하지만이 일하는 방법 이것을 이용할 수 있을까요?아마도로 정의하는 자신의 범위 2-자리 연?

도움이 되었습니까?

해결책

는 경우에 당신은 항상 그것을 사용하여 생일을 위해,다만 빼 100 만 년 후 지금:

if d > datetime.now():
    d = datetime(d.year - 100, d.month, d.day)

다른 팁

이 기능을 변화 해 1950:

def millenium(year, shift=1950):
    return (year-shift)%100 + shift

는 경우 당신이 기대하는 생일,당신은 항상 수동 마사지 데이터 미래의 어떤 날짜가 자동으로 설정이 다시 세기에,또는 일부한다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top