|
| 1 | +import Foundation |
| 2 | + |
| 3 | +/* |
| 4 | + * EJERCICIO: |
| 5 | + * Crea dos variables utilizando los objetos fecha (date, o semejante) de tu lenguaje: |
| 6 | + * - Una primera que represente la fecha (día, mes, año, hora, minuto, segundo) actual. |
| 7 | + * - Una segunda que represente tu fecha de nacimiento (te puedes inventar la hora). |
| 8 | + * Calcula cuántos años han transcurrido entre ambas fechas. |
| 9 | + * |
| 10 | + * DIFICULTAD EXTRA (opcional): |
| 11 | + * Utilizando la fecha de tu cumpleaños, formatéala y muestra su resultado de |
| 12 | + * 10 maneras diferentes. Por ejemplo: |
| 13 | + * - Día, mes y año. |
| 14 | + * - Hora, minuto y segundo. |
| 15 | + * - Día de año. |
| 16 | + * - Día de la semana. |
| 17 | + * - Nombre del mes. |
| 18 | + * (lo que se te ocurra...) |
| 19 | + */ |
| 20 | + |
| 21 | + |
| 22 | +// Obtén la fecha actual |
| 23 | +let currentDate = Date() |
| 24 | + |
| 25 | +// Configura el formato de la fecha |
| 26 | +let dateFormatter = DateFormatter() |
| 27 | +dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss" |
| 28 | + |
| 29 | +// Define tu fecha de nacimiento (por ejemplo, 1 de enero de 1990 a las 12:00:00) |
| 30 | +let birthDateString = "1990/01/01 12:00:00" |
| 31 | +guard let birthDate = dateFormatter.date(from: birthDateString) else { |
| 32 | + fatalError("Error al convertir la cadena de fecha a objeto Date") |
| 33 | +} |
| 34 | + |
| 35 | +// Calcula la diferencia de años entre la fecha actual y la fecha de nacimiento |
| 36 | +let calendar = Calendar.current |
| 37 | +let ageComponents = calendar.dateComponents([.year], from: birthDate, to: currentDate) |
| 38 | +let age = ageComponents.year! |
| 39 | + |
| 40 | +print("Han transcurrido \(age) años desde tu fecha de nacimiento.") |
| 41 | + |
| 42 | + |
| 43 | +//MARK: - DIFICULTAD EXTRA (opcional) |
| 44 | + |
| 45 | +// Configura el formato de la fecha |
| 46 | +let dateFormatter2 = DateFormatter() |
| 47 | +dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss" |
| 48 | + |
| 49 | +// Define tu fecha de nacimiento (por ejemplo, 1 de enero de 1990 a las 12:00:00) |
| 50 | +let birthDateString2 = "1990/01/01 12:00:00" |
| 51 | +guard let birthDate = dateFormatter.date(from: birthDateString) else { |
| 52 | + fatalError("Error al convertir la cadena de fecha a objeto Date") |
| 53 | +} |
| 54 | + |
| 55 | +// Función para formatear y mostrar la fecha en diferentes formatos |
| 56 | +func displayFormattedDates(for date: Date) { |
| 57 | + let formats = [ |
| 58 | + "dd/MM/yyyy", // Día, mes y año |
| 59 | + "HH:mm:ss", // Hora, minuto y segundo |
| 60 | + "D", // Día del año |
| 61 | + "EEEE", // Día de la semana |
| 62 | + "MMMM", // Nombre del mes |
| 63 | + "MM/dd/yyyy HH:mm", // Mes/día/año hora:minuto |
| 64 | + "yyyy/MM/dd", // Año/mes/día |
| 65 | + "MMM d, yyyy", // Mes abreviado día, año |
| 66 | + "EEEE, MMM d, yyyy", // Día de la semana, mes abreviado día, año |
| 67 | + "E, d MMM yyyy HH:mm:ss", // Día de la semana abreviado, día mes año hora:minuto:segundo |
| 68 | + ] |
| 69 | + |
| 70 | + for format in formats { |
| 71 | + dateFormatter.dateFormat = format |
| 72 | + let formattedDate = dateFormatter.string(from: date) |
| 73 | + print("Formato '\(format)': \(formattedDate)") |
| 74 | + } |
| 75 | +} |
| 76 | + |
| 77 | +// Muestra las diferentes representaciones de la fecha de nacimiento |
| 78 | +displayFormattedDates(for: birthDate) |
| 79 | + |
0 commit comments