1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| let
pourcentage = ( dc, dj, ds ) => Math.round( ( ( dc - dj ) / ( ds - dj ) * 100 ) * 10000000 ) / 10000000,
reste = p => Math.round( ( 100 - p ) * 10000000 ) / 10000000,
date_ajout = new Date( 2016, 1, 1, 0, 0, 0 ),
date_sortie = new Date( 2016, 2, 1, 0, 0, 0 ),
date_actuel = new Date( 2016, 1, 1, 6, 57, 36 );
console.log( `date_ajout : ${ date_ajout.toLocaleString() } ;
date_sortie = ${ date_sortie.toLocaleString() } ;
date_actuel : ${ date_actuel.toLocaleString() }`
);
let
p = pourcentage( date_actuel, date_ajout, date_sortie ),
r = reste( p );
console.log( `pourcentage = ${p} %, reste = ${r} %` );
date_actuel = new Date( 2016, 1, 15, 12, 0, 0);
console.log( `date_ajout : ${ date_ajout.toLocaleString() } ;
date_sortie = ${ date_sortie.toLocaleString() } ;
date_actuel : ${ date_actuel.toLocaleString() }`
);
p = pourcentage( date_actuel, date_ajout, date_sortie );
r = reste( p );
console.log( `pourcentage = ${p} %, reste = ${r} %` );
let
ds = date_sortie - 0,
dj = date_ajout - 0,
dc = p => new Date( dj + ( p * ( ds - dj ) / 100 ) ).toLocaleString();
console.log( `1 % => date actuelle = ${ dc(1) }` );
console.log( `50 % => date actuelle = ${ dc(50) }` );
console.log( `25 % => date actuelle = ${ dc(25) }` );
console.log( `75 % => date actuelle = ${ dc(75) }` );
/*
date_ajout : 1/2/2016 00:00:00 ;
date_sortie = 1/3/2016 00:00:00 ;
date_actuel : 1/2/2016 06:57:36
pourcentage = 1 %, reste = 99 %
date_ajout : 1/2/2016 00:00:00 ;
date_sortie = 1/3/2016 00:00:00 ;
date_actuel : 15/2/2016 12:00:00
pourcentage = 50 %, reste = 50 %
1 % => date actuelle = 1/2/2016 06:57:36
50 % => date actuelle = 15/2/2016 12:00:00
25 % => date actuelle = 8/2/2016 06:00:00
75 % => date actuelle = 22/2/2016 18:00:00
*/ |
Partager