Похоже, вы конвертируете way слишком много вещей в строки без всякой причины.
Если вы всегда хотите отобразить 1 января, вы простопотребность:
// Note: use int.TryParse to avoid exceptions if the user input isn't an integer
int age = int.Parse(txt_age.Text);
DateTime date = new DateTime(DateTime.Today.Year - age, 1, 1);
txt_dob.Text = date.ToString(); // Or use a specific format
Обратите внимание, что «dob» в «txt_dob» неуместно, так как это не дата рождения пользователя , просто 1 января в их годурождение , которое очень отличается.