Source code for localflavor.bg.utils
import datetime
[docs]def get_egn_birth_date(egn):
"""
Extract birth date from Bulgarian unique citizenship number (EGN)
More details https://en.wikipedia.org/wiki/Unique_citizenship_number
Information in Bulgarian for this can be found here
http://www.grao.bg/esgraon.html#section2
"""
try:
year, month, day = int(egn[0:2]), int(egn[2:4]), int(egn[4:6])
except (ValueError, TypeError):
raise ValueError('First six characters must be numbers')
if month >= 40:
month -= 40
year += 2000
elif month >= 20:
month -= 20
year += 1800
else:
year += 1900
return datetime.date(year, month, day)