Imports System.Globalization
private dim locale as CultureInfo = New CultureInfo("es-ES")
Dim nombre as String = Prompt("Nombre")
Dim fechaNacimiento as Date = PromptDate("Fecha de nacimiento")
Dim edad as Integer = CalcularEdad(fechaNacimiento, Date.Today)
"Hola {0}, si naciste el {1}, tu edad es de {2} años.",
nombre, fechaNacimiento.ToString("D", locale), edad)
private Function Prompt(query as String) as String
Console.WriteLine("Introduce tu " + query + ": ")
return Console.ReadLine()
private function PromptDate(query as String) as Date
Dim val as String = Prompt(query)
if Date.TryParseExact(val, "d/M/yyyy",
locale, DateTimeStyles.None, result) then
Console.WriteLine("La fecha indicada no corresponde al formato dia/mes/año o no es una fecha válida")
private function CalcularEdad(fechaNacimiento as Date, fechaReferencia as Date) as Integer
Dim edad as Integer = fechaReferencia.Year - fechaNacimiento.Year
if fechaNacimiento > fechaReferencia.AddYears(-edad) then