2 년 숫자를 사용하여 전송()는 구문 분석할 수 있는 아주 잘 생일
-
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
는 경우 당신이 기대하는 생일,당신은 항상 수동 마사지 데이터 미래의 어떤 날짜가 자동으로 설정이 다시 세기에,또는 일부한다.
제휴하지 않습니다 StackOverflow