Skip to content

Commit a1861af

Browse files
committed
Añado funciones para trabajar con fechas
1 parent 59f42fd commit a1861af

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

fechas.js

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
/**
2+
* @author Raúl Caro Pastorino
3+
* @copyright Copyright © 2018 Raúl Caro Pastorino
4+
* @license https://www.gnu.org/licenses/gpl-3.0-standalone.html
5+
*/
6+
7+
/**
8+
* Genera una fecha aleatoria entre los parámetros pasados.
9+
* @param inicio por omisión será la fecha de inicio 70.
10+
* @param fin por omisión será la fecha de fin 2050.
11+
* @returns {Date} Devuelve un objeto Date().
12+
*/
13+
function generarFechaAleatoria(inicio = 70, fin = 2050) {
14+
var year = generarAleatorio(inicio, fin);
15+
if (year === 100) {
16+
year = 2000;
17+
} else if (year > 100) {
18+
year = 1900 + year;
19+
} else {
20+
year = Number("19" + String(year));
21+
}
22+
23+
var dia = generarAleatorio(0, 30);
24+
var mes = generarAleatorio(0, 11);
25+
26+
return new Date(year, mes, dia);
27+
}
28+
29+
/**
30+
* Resta las dos fechas recibidas y devuelve la diferencia en milisegundos.
31+
* @param inicio
32+
* @param fin
33+
* @returns {number}
34+
*/
35+
function restarFechas(inicio, fin) {
36+
return fin.getTime() - inicio.getTime();
37+
}
38+
39+
/**
40+
* Recibe milisegundos y devuelve los días que representa.
41+
* @param milis
42+
* @returns {number}
43+
*/
44+
function milisegundosDias(milis) {
45+
return Math.floor(milis/(24*60*60*1000));
46+
}
47+
48+
/**
49+
* Recibe milisegundos y devuelve la cantidad de horas que representa
50+
* @param milis
51+
* @returns {number}
52+
*/
53+
function milisegundosHoras(milis) {
54+
return Math.floor(milis/(60*60*1000));
55+
}
56+
57+
/**
58+
* Recibe milisegundos y devuelve los minutos que representa.
59+
* @param milis
60+
* @returns {number}
61+
*/
62+
function milisegundosMinutos(milis) {
63+
return Math.floor(milis/(60*1000));
64+
}
65+
66+
/**
67+
* Recibe milisegundos y devuelve los segundos que representa.
68+
* @param milis
69+
* @returns {number}
70+
*/
71+
function milisegundosSegundos(milis) {
72+
return Math.floor(milis/(1000));
73+
}

0 commit comments

Comments
 (0)