Skip to content

Commit 68e6c9a

Browse files
authored
Merge pull request mouredev#4510 from Teren91/main
#14 - Dart y #15 - dart
2 parents 1710eda + ddf058e commit 68e6c9a

File tree

3 files changed

+92
-0
lines changed

3 files changed

+92
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@
66
!stats.json
77
.DS_Store
88
.idea/
9+
pubspec.yaml
10+
pubspec.lock

Roadmap/14 - FECHAS/dart/teren91.dart

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
2+
import 'package:intl/intl.dart';
3+
4+
/*
5+
* EJERCICIO:
6+
* Crea dos variables utilizando los objetos fecha (date, o semejante) de tu lenguaje:
7+
* - Una primera que represente la fecha (día, mes, año, hora, minuto, segundo) actual.
8+
* - Una segunda que represente tu fecha de nacimiento (te puedes inventar la hora).
9+
* Calcula cuántos años han transcurrido entre ambas fechas.
10+
*
11+
* DIFICULTAD EXTRA (opcional):
12+
* Utilizando la fecha de tu cumpleaños, formatéala y muestra su resultado de
13+
* 10 maneras diferentes. Por ejemplo:
14+
* - Día, mes y año.
15+
* - Hora, minuto y segundo.
16+
* - Día de año.
17+
* - Día de la semana.
18+
* - Nombre del mes.
19+
* (lo que se te ocurra...)
20+
*/
21+
22+
23+
void main()
24+
{
25+
DateTime date = DateTime.now();
26+
DateTime birthDay = DateTime(1991, 9, 14, 1, 0, 0);
27+
DateFormat dateFormatter = DateFormat('dd/MM/yyyy hh:mm');
28+
Duration dateDifference = date.difference(birthDay);
29+
30+
print('Fecha actual: ' + dateFormatter.format(date));
31+
print('Cumple : ' + dateFormatter.format(birthDay));
32+
print('Transcurrido: ${(dateDifference.inDays / 365).floor().toString()} años');
33+
34+
//Dificultad extra
35+
36+
DateFormat dateFormatter_ddMMyyyy = DateFormat('dd/MM/yyyy');
37+
DateFormat dateFormatter_hhmmss = DateFormat('hh:mm:ss');
38+
DateFormat dateFormatter_Completa = DateFormat('EEEE, dd MMMM, yyyy');
39+
DateFormat dateFormatter_diaSemana = DateFormat('EEEE');
40+
DateFormat dateFormatter_Mes = DateFormat('MMMM');
41+
42+
print('Cumple : ' + dateFormatter_ddMMyyyy.format(birthDay));
43+
print('Cumple : ' + dateFormatter_hhmmss.format(birthDay));
44+
print('Cumple : ' + dateFormatter_Completa.format(birthDay));
45+
print('Cumple : ' + dateFormatter_diaSemana.format(birthDay));
46+
print('Cumple : ' + dateFormatter_Mes.format(birthDay));
47+
}
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* EJERCICIO:
3+
* Utilizando tu lenguaje, crea un programa capaz de ejecutar de manera
4+
* asíncrona una función que tardará en finalizar un número concreto de
5+
* segundos parametrizables. También debes poder asignarle un nombre.
6+
* La función imprime su nombre, cuándo empieza, el tiempo que durará
7+
* su ejecución y cuando finaliza.
8+
*
9+
* DIFICULTAD EXTRA (opcional):
10+
* Utilizando el concepto de asincronía y la función anterior, crea
11+
* el siguiente programa que ejecuta en este orden:
12+
* - Una función C que dura 3 segundos.
13+
* - Una función B que dura 2 segundos.
14+
* - Una función A que dura 1 segundo.
15+
* - Una función D que dura 1 segundo.
16+
* - Las funciones C, B y A se ejecutan en paralelo.
17+
* - La función D comienza su ejecución cuando las 3 anteriores han
18+
* finalizado.
19+
*/
20+
21+
import 'dart:async';
22+
23+
void main() async
24+
{
25+
26+
//Ejecución en paralelo
27+
List<Future<void>> functions = [
28+
29+
showName('Función C', 3),
30+
showName('Función B', 2),
31+
showName('Función A', 1)
32+
];
33+
34+
await Future.wait(functions);
35+
36+
await showName('Función D', 1);
37+
}
38+
39+
Future<void> showName(String name, int duration) async
40+
{
41+
await Future.delayed(Duration(seconds: duration));
42+
print('Soy $name');
43+
}

0 commit comments

Comments
 (0)