sábado, 26 de marzo de 2016

Pregunta C# (14 de 20): ¿Cómo Calcular la Edad de una Persona?

Índice

1. Introducción
2. Palabras Clave
3. Contexto
3.1 Estructura DateTime
4. Cálculo de la Edad de una Persona
5. Recursos
6. Conclusiones
7. Literatura & Enlaces

1. Introducción

Pregunta C# número 14. En esta pregunta se demuestra una implementación simple para calcular la edad de una persona. Para esto se usa la estructura DateTime para representar fechas, en este caso de nacimiento y actual, y así poder implementar la aritmética básica con fechas y determinar la edad de alguien.

2. Palabras Clave

  • DateTime

3. Contexto

3.1 Estructura DateTime

Con la estructura DateTime ("DateTime Structure", 2016) se presentan tanto fechas como horas. Los rangos de fechas soportados por este tipo de dato empiezan desde el 1 de enero de 0001 a las 00:00:00 hasta el 31 de diciembre de 9999 a las 11:59:59 P.M. del calendario gregoriano.

La unidad mínima de medición de este tipo de dato es de 100 nanosegundos. En el contexto de este tipo de dato, los nanosegundos se conocen como ticks. Por ejemplo, el valor long 31241376000000000L equivale a la fecha: viernes 1 de enero del año 0100 de medianoche.

Entre las operaciones básicas para esta estructura están:
  • Instanciación de objetos DateTime
  • Representaciones en cadenas de caracteres de DateTime
  • Conversión de cadenas de caracteres a objetos DateTime
  • Resolución, 
  • Persistencia de valores
En el siguiente ejemplo se presenta el uso básico de DateTime junto con las formatos permitidos para una fecha:

En la línea 13 se especifica la configuración regional a usar para los formatos de fecha. Más adelante, en la línea 16, se crea un objeto DateTime con la fecha 2016/3/26 y hora 15:58:13. Con el ciclo foreach se itera a través de los formatos de fecha disponibles. Con la sentencia if (línea 27) se comprueba que la representación actual se puede convertir a uno de los formatos disponibles por DateTime.


Compilación: 

csc /t:exe UsoDateTime.cs


Ejecución assembly

.\UsoDateTime.exe


Demostración ejecución assembly (ideone.com): http://ideone.com/xpcuI2 

Demostración ejecución assembly (local): 
Ejecución assembly UsoDateTime.exe
Figura 1. Ejecución assembly UsoDateTime.exe.

4. Cálculo de la Edad de una Persona

El siguiente código C# permite el cálculo de la edad de una persona usando el tipo de dato DateTime.

El método CalcularEdad (líneas 13-39) lleva a cabo las siguientes operaciones:
  • Línea 16: obtención de la fecha actual.
  • Línea 21-25: comprobación de la fecha de nacimiento y actual.
  • Línea 28: aritmética básica para el cálculo de edad.
  • Líneas 32-34: se comprueba que el mes de nacimiento es mayor que el de la fecha actual.
Desde el método Main se invoca este método para calcular la edad de alguien nacido en 1989/13/1.

Compilación:

csc /t:exe CalculoEdad.cs

Ejecución assembly:

.\CalculoEdad.exe

Demostración ejecución assembly (ideone.com): http://ideone.com/BNOKof


Demostración ejecución assembly (local): 
Ejecución assembly CalculoEdad.exe
Figura 2. Ejecución assembly CalculoEdad.exe.

5. Recursos

Este es el vídeo en donde el equipo de expertos Gerry O'Brein y Paul Pardi de MVA, responden y explican esta pregunta:

6. Conclusiones

Se usó la estructura (tipo de dato) DateTime para el realizar el cálculo de la edad de una persona. Su aplicación resultó práctica y sencilla gracias a la disposición de varios métodos y propiedades.

La próxima pregunta C# explica cómo obtener la representación en cadena de caracteres de una enumeración.

7. Literatura & Enlaces

Top C# Questions Answered | Microsoft Virtual Academy (2016, marzo 26). Recuperado desde: https://mva.microsoft.com/en-US/training-courses/twenty-c-questions-answered-8298?l=Yx3OSVYy_504984382
DateTime Structure (System) (2016, marzo 26). Recuperado desde: https://msdn.microsoft.com/en-us/library/system.datetime.aspx


V

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.