age function
The birthdate
may be in 'YYMMDD' format. ie) 001122
Or may be in 'YYYYMMDD' format. ie) 19770707
Implementation
age(String? birthdate) {
if (birthdate == null || birthdate == '') return '0';
if (birthdate.length == 8) {
birthdate = birthdate.substring(2);
}
if (birthdate.length != 6) return '0';
final _yy = int.parse(birthdate.substring(0, 2));
final _mm = int.parse(birthdate.substring(2, 4));
final _dd = int.parse(birthdate.substring(4, 6));
// Adjust year when two digit like '73' is set to birthday.
DateTime birthday = DateTime(_yy < 20 ? 2000 + _yy : 1900 + _yy, _mm, _dd);
DateTime today = DateTime.now();
int age = today.year - birthday.year;
// 한국 나이로 +1 을 해 준다.
return (age + 1).toString();
}