What I think is close to being the final version for this project, looks like this:
const ms = 1, sec = 1000*ms, mn = 60*sec, hr = 60*mn, day = 24*hr, mth
+ = 30.4375*day, yr = 365.25*day;
function _DateInterval( vv ) {
if( vv < 25*sec ) return 2.5*sec; if( vv < 50*sec ) return
+ 5*sec;
if( vv < 2.5*mn ) return 12.5*sec; if( vv < 3.75*mn ) return
+25*sec;
if( vv < 5*mn ) return 37.5*sec; if( vv < 10*mn ) return
+ 1*mn;
if( vv < 20*mn ) return 2*mn; if( vv < 1*hr ) return
+ 5*mn;
if( vv < 1.5*hr ) return 10*mn; if( vv < 3*hr ) return
+ 15*mn;
if( vv < 6*hr ) return 30*mn; if( vv < 12*hr ) return
+ 1*hr;
if( vv < 18*hr ) return 2*hr; if( vv < 1.5*day ) return
+ 3*hr;
if( vv < 2.5*day ) return 6*hr; if( vv < 5*day ) return
+ 12*hr;
if( vv < 10*day ) return 1*day; if( vv < 20*day ) return
+ 2*day;
if( vv < 35*day ) return 4*day; if( vv < 70*day ) return
+ 7*day;
if( vv < 140*day ) return 14*day; if( vv < 1*yr ) return
+ 1*mth;
if( vv < 2*yr ) return 2*mth; if( vv < 2.5*yr ) return
+ 3*mth;
if( vv < 5*yr ) return 6*mth; return 1*yr;
}
Suggestions -- especially re:JS -- welcomed.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
|