Tuesday, October 2, 2012

Excel GÜN360/DAYS360 benzeri Datediff360 Javascript fonksiyonu

Excel'deki GÜN360/DAYS formülü ile yapılan fonksiyonun Javascript kodu aşağıdaki fonksiyon ile kullanılabilir. (DATEDIFF360)


JavaScript Kodu:

function Datefark360( dtIlkTarih, dtSonTarih ) {
  var fark = [
               dtSonTarih.getFullYear() - dtIlkTarih.getFullYear(),
               dtSonTarih.getMonth()    - dtIlkTarih.getMonth(),
               dtSonTarih.getDate()     - dtIlkTarih.getDate(),
               dtSonTarih.getHours()    - dtIlkTarih.getHours(),
               dtSonTarih.getMinutes()  - dtIlkTarih.getMinutes(),
               dtSonTarih.getSeconds()  - dtIlkTarih.getSeconds()
             ];
  var carpan = [ 12, 31, 24, 60, 60 ];
  carpan[ 1 ] = ( new Date( dtSonTarih.getFullYear(), dtSonTarih.getMonth(), 0 ) ).getDate();

  for ( var i = fark.length - 1; i > -1; i-- ) {
    if ( fark[ i ] < 0 ) {
      if ( i > -1 ) {
        var j = i - 1;
        fark[ i ] += carpan[ j ];
        fark[ j ]--;
      } else {
        alert( 'Negatif Yıl: ' + fark[ 0 ] );
      }
    }
  }
  return fark[ 0 ] * 360 + fark[ 1 ] * 30 + fark[ 2 ];
}

No comments: