Astronomical Delta T (ΔT) Estimation Function
Enter year/month arguments and click the [Compute] button to calculate the astronomical ΔT estimate corresponding to the given arguments and a table for each month of the given year.

The ΔT estimates are computed from the NASA polynomials for ΔT


Year (1 to 3000 AD) =        Month Number (1=Jan to 12=Dec) =    

ΔT Estimate For April, 2017 AD (mid-month value):

+70.16 sec =  +1.1694 min  = +0.019489 hr  = +0.00081206 day  = +00:01:10.2


The General Time Scale Relationships Are:
ΔT = TT - UT
TT = UT + ΔT
UT = TT - ΔT


Mid-Month ΔT Estimates Table For Each Month Of The Year 2017 AD
2017 Jan  +70.03 sec = +0.019454 hr  +0.00081057 day  +00:01:10.0  Jan 
2017 Feb  +70.08 sec = +0.019466 hr  +0.00081107 day  +00:01:10.1  Feb 
2017 Mar  +70.12 sec = +0.019478 hr  +0.00081156 day  +00:01:10.1  Mar 
2017 Apr  +70.16 sec = +0.019489 hr  +0.00081206 day  +00:01:10.2  Apr 
2017 May  +70.20 sec = +0.019501 hr  +0.00081256 day  +00:01:10.2  May 
2017 Jun  +70.25 sec = +0.019513 hr  +0.00081306 day  +00:01:10.2  Jun 
2017 Jul  +70.29 sec = +0.019525 hr  +0.00081356 day  +00:01:10.3  Jul 
2017 Aug  +70.33 sec = +0.019537 hr  +0.00081406 day  +00:01:10.3  Aug 
2017 Sep  +70.38 sec = +0.019549 hr  +0.00081456 day  +00:01:10.4  Sep 
2017 Oct  +70.42 sec = +0.019561 hr  +0.00081506 day  +00:01:10.4  Oct 
2017 Nov  +70.46 sec = +0.019573 hr  +0.00081556 day  +00:01:10.5  Nov 
2017 Dec  +70.51 sec = +0.019586 hr  +0.00081607 day  +00:01:10.5  Dec 
Generally, the computed time of an astronomical event refers to the TT scale.  To obtain the UT value, we subtract the optional ΔT estimate from the TT value.



References:
http://eclipse.gsfc.nasa.gov/LEcat5/deltatpoly.html
http://eclipse.gsfc.nasa.gov/LEcat5/deltat.html
http://asa.usno.navy.mil/SecK/DeltaT.html

http://en.wikipedia.org/wiki/%CE%94T

Below is the complete PHP source code of the ΔT estimation function based on the NASA polynomials for ΔT.  It is a stand-alone function and has no external dependencies.  This is the function used as the foundation of the ΔT Estimate Calculator program above.  Given the year and month arguments, it returns the mid-month ΔT estimate value in seconds.


/*
  ========================================================================
  This function computes the theoretical astronomical Delta-T
  estimate in seconds for any year/month from -2000 to +3000

  Computations based on the NASA polymomial expressions for Delta T

  NASA Ref:
  http://eclipse.gsfc.nasa.gov/LEcat5/deltatpoly.html


  ARGUMENTS:
  year = Year  (-2000 BC to 3000 AD) (Neg=BC)(no year zero)
  mNum = Month (1 to 12)

  ERRORS:
  FALSE is returned on error.  An error results if either
  the year or month number is invalid. A zero year value
  will return an error.

  ==========================
  Author   : Jay Tanner 2014
  Language : PHP 5.4.7
  License  : This source code is released under the provisions of the
             GNU Affero General Public License (AGPL), version 3.
             http://www.gnu.org/licenses/agpl.html
  ========================================================================
*/

   function Delta_T_Estimate ($year, $mNum=1)
{

// ----------------------------------------------
// ERROR if year value is non-numeric. It must be
// an integer in the range from -2000 to +3000.

   if (!is_numeric($year)) {return FALSE;}

// ------------------------------------------
// ERROR if year value is invalid. It must be
// in the range from -2000 to +3000.

   if ($year < -2000 or $year == 0 or $year > 3000) {return FALSE;}

// ----------------------------------------
// ERROR if month value is invalid. It must
// be in the range from 1 to 12.

   if ($mNum < 1 or $mNum > 12) {return FALSE;}

// -----------------------------------------------------------
// If a negative (BC) year is given , it is converted into the
// corresponding mathematical year by adding 1.
//
// The year 100 BC (-100), becomes the mathematical year -99.

   $y = $year + (($year < 0)? 1:0) + ($mNum - 0.5)/12;


   if ($year >= -2000 and $year < -500)
      {
       $u  = ($year - 1820) / 100;

       return 32*$u*$u - 20;
      }


   if ($year >= -500 and $year < 500)
      {
       $u  = $y/100;
       $u2 = $u * $u;
       $u3 = $u * $u2;
       $u4 = $u * $u3;
       $u5 = $u * $u4;
       $u6 = $u * $u5;

       return 10583.6 - 1014.41*$u
                      +   33.78311*$u2
                      -    5.952053*$u3
                      -    0.1798452*$u4
                      +    0.022174192*$u5
                      +    0.0090316521*$u6;
      }


   if ($year >= 500 and $year < 1600)
      {
       $u  = ($y - 1000)/100;
       $u2 = $u * $u;
       $u3 = $u * $u2;
       $u4 = $u * $u3;
       $u5 = $u * $u4;
       $u6 = $u * $u5;

       return 1574.2 - 556.01*$u
                     +  71.23472*$u2
                     +   0.319781*$u3
                     -   0.8503463*$u4
                     -   0.005050998*$u5
                     +   0.0083572073*$u6;
      }


   if ($year >= 1600 and $year < 1700)
      {
       $u  = $y - 1600;

       return 120 - 0.9808*$u - 0.01532*$u*$u + $u*$u*$u/7129;
      }


   if ($year >= 1700 and $year < 1800)
      {
       $u  = $y - 1700;
       $u2 = $u * $u;
       $u3 = $u * $u2;
       $u4 = $u * $u3;

       return 8.83 + 0.1603*$u
                   - 0.0059285*$u2
                   + 0.00013336*$u3
                   - $u4/1174000;
      }


   if ($year >= 1800 and $year < 1860)
      {
       $u  = $y - 1800;
       $u2 = $u * $u;
       $u3 = $u * $u2;
       $u4 = $u * $u3;
       $u5 = $u * $u4;
       $u6 = $u * $u5;
       $u7 = $u * $u6;

       return 13.72 - 0.332447*$u
                    + 0.0068612*$u2
                    + 0.0041116*$u3
                    - 0.00037436*$u4
                    + 0.0000121272*$u5
                    - 0.0000001699*$u6
                    + 0.000000000875*$u7;
      }


   if ($year >= 1860 and $year < 1900)
      {
       $u  = $y - 1860;
       $u2 = $u * $u;
       $u3 = $u * $u2;
       $u4 = $u * $u3;
       $u5 = $u * $u4;

       return 7.62 + 0.5737*$u
                   - 0.251754*$u2
                   + 0.01680668*$u3
                   - 0.0004473624*$u4
                   + $u5 / 233174;
      }


   if ($year >= 1900 and $year < 1920)
      {
       $u  = $y - 1900;
       $u2 = $u * $u;
       $u3 = $u * $u2;
       $u4 = $u * $u3;

       return 1.494119*$u - 2.79
                          - 0.0598939*$u2
                          + 0.0061966*$u3
                          - 0.000197*$u4;
      }


   if ($year >= 1920 and $year < 1941)
      {
       $u  = $y - 1920;
       $u2 = $u * $u;
       $u3 = $u * $u2;

       return 21.20 + 0.84493*$u - 0.076100*$u2 + 0.0020936*$u3;
      }


   if ($year >= 1941 and $year < 1961)
      {
       $u  = $y - 1950;
       $u2 = $u * $u;
       $u3 = $u * $u2;

       return 29.07 + 0.407*$u - $u2/233 + $u3/2547;
      }


   if ($year >= 1961 and $year < 1986)
      {
       $u = $y - 1975;
       $u2 = $u * $u;
       $u3 = $u * $u2;

       return 45.45 + 1.067*$u - $u2/260 - $u3/718;
      }


   if ($year >= 1986 and $year < 2005)
      {
       $u  = $y - 2000;
       $u2 = $u * $u;
       $u3 = $u * $u2;
       $u4 = $u * $u3;
       $u5 = $u * $u4;

       return 63.86 + 0.3345*$u
                    - 0.060374*$u2
                    + 0.0017275*$u3
                    + 0.000651814*$u4
                    + 0.00002373599*$u5;
      }


   if ($year >= 2005 and $year < 2050)
      {
       $u  = $y - 2000;

       return 62.92 + 0.32217*$u + 0.005589*$u*$u;
      }


   if ($year >= 2050 and $year <= 2150)
      {
       $u  = ($y - 1820) / 100;

       return 32*$u*$u - 0.5628*(2150 - $y) - 20;
      }


   if ($year > 2150 and $year <= 3000)
      {
       $u  = ($y - 1820) / 100;

       return 32*$u*$u - 20;
      }

  return FALSE; // Exit here on error.

} // End of  Delta_T_Estimate(...)

Jay Tanner - 2017