<p>Extremely precise calculation of the EoT (Equation of Time) isn't easy. You need to include the effects of the perturbations by other bodies on the motion of the Earth, especially the Moon, and as I've mentioned numerous times, <a href="https://en.wikipedia.org/wiki/Lunar_theory" rel="nofollow noreferrer">lunar theory</a> is complicated. ;)</p>
<p>Although the primary focus of your question is the EoT, I think it's appropriate to digress briefly to discuss the perihelion.</p>
<p>The variation in the exact time of perihelion passage doesn't have too much of an effect on the EoT. That's because we don't use the argument of perihelion as a point of reference. Traditionally, we use the equinox point, aka the First point of Aries. Modern approaches use the ICRF (<a href="https://en.wikipedia.org/wiki/International_Celestial_Reference_System_and_Frame" rel="nofollow noreferrer">International Celestial Reference Frame</a>).</p>
<p>The Earth's orbit around the Sun is approximately a Keplerian ellipse. A better approximation considers the EMB, the Earth-Moon barycentre (their centre of mass), as the entity orbiting the Sun, and then we look at the orbit of the Earth and Moon around that barycentre.</p>
<p>The EMB is located inside the Earth, but its distance from the centre of the Earth varies with monthly, annual, and longer cycles.</p>
<p>Here's a daily plot of the distance between the centre of the Earth and the EMB, produced using JPL Horizons. We see that the maximum variation occurs around perihelion and aphelion. (The mean distance in that plot is ~4678.1 km). That is, the orbital radius of the Earth-Moon system varies depending on the distance to the Sun.</p>
<p><a href="https://i.sstatic.net/gaL5B.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/gaL5B.png" alt="Earth centre to Earth-Moon barycentre distance" /></a></p>
<p>Here's a plot of the distance between the EMB and the Sun for the year 2000. The perihelion distance is ~147.1 million km, the aphelion distance is ~152.1 million km, so the difference between them is ~5 million km, which is more than a thousand times greater than the mean Earth-EMB distance.</p>
<p><a href="https://i.sstatic.net/TqUjw.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/TqUjw.png" alt="EMB to Sun distance" /></a></p>
<p>Near perihelion, the EMB-Sun distance doesn't change much, but the Earth's orbital speed is near its maximum. So the exact time of Earth's perihelion can vary quite a bit depending on Earth's position in its orbit around the EMB.</p>
<p>However, the time of the perihelion passage of the EMB is much more stable. So the general orientation of the EMB's orbit around the Sun, and the variation in the EMB-Sun distance caused by eccentricity is also more stable than what you might assume from the variation in the time of the perihelion passage of the Earth itself.</p>
<hr />
<p>The largest error in using a &quot;generic&quot; table of EoT values is due to the fractional part of the year. But you can adjust for that by subtracting a ¼ day for each year in the leap year cycle and interpolating.</p>
<p>That graph in the question was created using simple EoT equations (see <a href="https://commons.m.wikimedia.org/wiki/File:Zeitgleichung.png" rel="nofollow noreferrer">here</a> for details), similar to my graphs <a href="https://astronomy.stackexchange.com/a/48253/16685">here</a>, which were created using the crude equations from <a href="https://en.wikipedia.org/wiki/Equation_of_time#Alternative_calculation" rel="nofollow noreferrer">Wikipedia</a>, for the year 2000.</p>
<p>Here's a fairly accurate EoT component graph (using the same color scheme), using 4 day steps for midday at the location of the Greenwich Observatory. The EoT curve (in red) was produced using Horizons, so it's about as accurate as you can get. The obliquity (purple) and eccentricity (blue) components were computed using an algorithm I cobbled together using equations from <a href="https://adsabs.harvard.edu/full/1989MNRAS.238.1529H" rel="nofollow noreferrer">The Equation of Time</a> by Hughes, Yallop, &amp; Hohenkerk (1989) <a href="https://doi.org/10.1093/mnras/238.4.1529" rel="nofollow noreferrer">doi: 10.1093/mnras/238.4.1529</a> combined with more recent equations for sidereal time and obliquity from JPL. The full form of my algorithm matches Horizons' values to within 1 second in years near 2000, and is still quite close for several centuries either side of that date.</p>
<p>I should mention that the red EoT curve isn't <em>exactly</em> the sum of the two component curves. There's a non-linear interaction between the two components, but it's fairly small because the eccentricity of the Earth's orbit is fairly small.</p>
<p><a href="https://i.sstatic.net/yOR8X.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/yOR8X.png" alt="EoT components" /></a></p>
<p>Here's a version covering a decade. Apart from the effect of the leapyear cycle, it's not easy to see any variation from year to year.</p>
<p><a href="https://i.sstatic.net/KkNMN.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/KkNMN.png" alt="Eot components for a decade" /></a></p>
<p>Here's a graph of the rate of change of the EoT and its components for the year 2000, created by differentiating the crude equations from Wikipedia. It clearly shows that the obliquity has much more influence than the eccentricity does on the change in solar day length.</p>
<h2><a href="https://i.sstatic.net/UmOgp.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/UmOgp.png" alt="Rate of Change of EoT" /></a></h2>
<p>Here's a plot of my EoT values minus Horizons' values, using a 1 day step. As you can see, the difference is less than 1 second.</p>
<p><a href="https://i.sstatic.net/SWg9f.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/SWg9f.png" alt="Hughes minus Horizons Eot" /></a></p>
<p>Here's my Python EoT function.</p>
<pre><code>&quot;&quot;&quot; The Equation of Time

    References:

    The Horizons manual
    https://ssd.jpl.nasa.gov/horizons/manual.html#greenwich-mean-sidereal-time

    The JPL Planetary and Lunar Ephemerides DE440 and DE441
    Park et al (2021)
    https://doi.org/10.3847/1538-3881/abd414

    Equation of Time
    Hughes, Yallop, &amp; Hohenkerk (1989)
    https://doi.org/10.1093/mnras/238.4.1529

    Written by PM 2Ring 2022.05.13
    Updated 2022.06.10
&quot;&quot;&quot;

from math import radians, degrees, sin, cos, atan2

j2000_epoch = 2451545.0

def dms_to_s(d, m, s):
    return 3600 * d + 60 * m + s

def poly(coeff, x):
    &quot;&quot;&quot; Evaluate a polynomial using Horner's rule
        coeff[0] is the constant term
    &quot;&quot;&quot;
    it = reversed(coeff)
    v = next(it)
    for u in it:
        v = v * x + u
    return v

# Omega (mean ecliptic longitude of the Moon's ascending node)
# coefficients in arcsecs, T in Julian centuries
# From Park et al (2021)
omega_coeff = [
  dms_to_s(125, 2, 40.280),
  -dms_to_s(1934, 8, 10.539),
  7.455, 0.008,
]

# Compute various solar values
# Mean longitude, mean anomaly, ecliptic longitude, eccentricity,
# Right Ascension, Obliquity of the ecliptic, sidereal time,
# Equation of Time

def eqn_of_time(jdn):
    # Time in Julian centuries since Noon 1 Jan 2000
    T = (jdn - j2000_epoch) / 36525

    # Greenwich Mean Sidereal Time at midnight, in seconds
    # From Horizons. T is UT1, not TT
    gmst = poly((67310.548, 8640184.812866, 0.093104, -6.2e-6), T)

    # Adjust T to TT
    deltaT = (-3.36 + 1.35 * (T + 2.33)**2) * 1e-8
    # print(&quot;delta T&quot;, deltaT * 36525 * 86400)
    T += deltaT

    # Mean longitude
    L = poly((280.46607, 36000.76980, 3.025e-4), T)

    # Mean anomaly
    g = 357.528 + 35999.0503 * T
    gr = radians(g)

    # Eccentricity
    ec = poly((0.016708634, -4.2037e-5, -1.267e-7), T)

    # Equation of the centre
    Cr = 2 * ec * sin(gr) + 1.25 * ec * ec * sin(2 * gr)
    C = degrees(Cr)

    # Correct for mean aberration &amp; nutation in longitude
    aberration = 20.49552
    omega = poly(omega_coeff, T) / 3600
    omega_r = radians(omega % 360)
    perturb = (aberration + 17.1996 * sin(omega_r)) / 3600

    # Ecliptic longitude.
    el = (L + C - perturb) % 360
    elr = radians(el)

    # Obliquity of the ecliptic.
    # From JPL, via https://en.wikipedia.org/wiki/Ecliptic#Obliquity_of_the_ecliptic
    # Coefficients in arcsecs
    coeff = (84381.406, -46.836769, -1.831e-4, 2.0034e-3, -5.76e-7, -4.34e-8)
    oe = poly(coeff, T) / 3600
    oer = radians(oe)

    # Right Ascension
    rar = atan2(sin(elr) * cos(oer), cos(elr))
    ra = degrees(rar) % 360

    # Equation of Time in seconds
    eot = (43200 + gmst - ra * 240) % 86400 - 43200
    return eot
</code></pre>
<p>Here's an EoT table for Greenwich, calculated using Horizons, <em>not</em> the above code.</p>
<pre><code>Equation of Time from 2022-Jan-1 to 2023-Jan-1
Zone date &amp; time,  EoT (seconds)
2022-Jan-01 12:00, -212.403
2022-Jan-02 12:00, -240.575
2022-Jan-03 12:00, -268.394
2022-Jan-04 12:00, -295.824
2022-Jan-05 12:00, -322.829
2022-Jan-06 12:00, -349.377
2022-Jan-07 12:00, -375.437
2022-Jan-08 12:00, -400.980
2022-Jan-09 12:00, -425.981
2022-Jan-10 12:00, -450.415
2022-Jan-11 12:00, -474.258
2022-Jan-12 12:00, -497.490
2022-Jan-13 12:00, -520.091
2022-Jan-14 12:00, -542.043
2022-Jan-15 12:00, -563.328
2022-Jan-16 12:00, -583.932
2022-Jan-17 12:00, -603.839
2022-Jan-18 12:00, -623.038
2022-Jan-19 12:00, -641.517
2022-Jan-20 12:00, -659.266
2022-Jan-21 12:00, -676.276
2022-Jan-22 12:00, -692.538
2022-Jan-23 12:00, -708.045
2022-Jan-24 12:00, -722.790
2022-Jan-25 12:00, -736.766
2022-Jan-26 12:00, -749.968
2022-Jan-27 12:00, -762.390
2022-Jan-28 12:00, -774.024
2022-Jan-29 12:00, -784.865
2022-Jan-30 12:00, -794.906
2022-Jan-31 12:00, -804.139
2022-Feb-01 12:00, -812.559
2022-Feb-02 12:00, -820.160
2022-Feb-03 12:00, -826.938
2022-Feb-04 12:00, -832.892
2022-Feb-05 12:00, -838.022
2022-Feb-06 12:00, -842.329
2022-Feb-07 12:00, -845.818
2022-Feb-08 12:00, -848.495
2022-Feb-09 12:00, -850.365
2022-Feb-10 12:00, -851.438
2022-Feb-11 12:00, -851.724
2022-Feb-12 12:00, -851.232
2022-Feb-13 12:00, -849.976
2022-Feb-14 12:00, -847.967
2022-Feb-15 12:00, -845.220
2022-Feb-16 12:00, -841.750
2022-Feb-17 12:00, -837.573
2022-Feb-18 12:00, -832.705
2022-Feb-19 12:00, -827.163
2022-Feb-20 12:00, -820.966
2022-Feb-21 12:00, -814.131
2022-Feb-22 12:00, -806.675
2022-Feb-23 12:00, -798.616
2022-Feb-24 12:00, -789.971
2022-Feb-25 12:00, -780.756
2022-Feb-26 12:00, -770.987
2022-Feb-27 12:00, -760.679
2022-Feb-28 12:00, -749.845
2022-Mar-01 12:00, -738.499
2022-Mar-02 12:00, -726.655
2022-Mar-03 12:00, -714.327
2022-Mar-04 12:00, -701.529
2022-Mar-05 12:00, -688.277
2022-Mar-06 12:00, -674.585
2022-Mar-07 12:00, -660.473
2022-Mar-08 12:00, -645.957
2022-Mar-09 12:00, -631.056
2022-Mar-10 12:00, -615.790
2022-Mar-11 12:00, -600.179
2022-Mar-12 12:00, -584.243
2022-Mar-13 12:00, -568.004
2022-Mar-14 12:00, -551.484
2022-Mar-15 12:00, -534.703
2022-Mar-16 12:00, -517.687
2022-Mar-17 12:00, -500.456
2022-Mar-18 12:00, -483.037
2022-Mar-19 12:00, -465.452
2022-Mar-20 12:00, -447.727
2022-Mar-21 12:00, -429.884
2022-Mar-22 12:00, -411.950
2022-Mar-23 12:00, -393.945
2022-Mar-24 12:00, -375.893
2022-Mar-25 12:00, -357.816
2022-Mar-26 12:00, -339.733
2022-Mar-27 12:00, -321.663
2022-Mar-28 12:00, -303.625
2022-Mar-29 12:00, -285.635
2022-Mar-30 12:00, -267.711
2022-Mar-31 12:00, -249.867
2022-Apr-01 12:00, -232.120
2022-Apr-02 12:00, -214.486
2022-Apr-03 12:00, -196.979
2022-Apr-04 12:00, -179.615
2022-Apr-05 12:00, -162.410
2022-Apr-06 12:00, -145.382
2022-Apr-07 12:00, -128.546
2022-Apr-08 12:00, -111.919
2022-Apr-09 12:00,  -95.518
2022-Apr-10 12:00,  -79.361
2022-Apr-11 12:00,  -63.463
2022-Apr-12 12:00,  -47.844
2022-Apr-13 12:00,  -32.521
2022-Apr-14 12:00,  -17.511
2022-Apr-15 12:00,   -2.834
2022-Apr-16 12:00,  +11.492
2022-Apr-17 12:00,  +25.448
2022-Apr-18 12:00,  +39.014
2022-Apr-19 12:00,  +52.173
2022-Apr-20 12:00,  +64.907
2022-Apr-21 12:00,  +77.199
2022-Apr-22 12:00,  +89.035
2022-Apr-23 12:00, +100.399
2022-Apr-24 12:00, +111.282
2022-Apr-25 12:00, +121.670
2022-Apr-26 12:00, +131.556
2022-Apr-27 12:00, +140.932
2022-Apr-28 12:00, +149.789
2022-Apr-29 12:00, +158.124
2022-Apr-30 12:00, +165.930
2022-May-01 12:00, +173.203
2022-May-02 12:00, +179.940
2022-May-03 12:00, +186.138
2022-May-04 12:00, +191.793
2022-May-05 12:00, +196.903
2022-May-06 12:00, +201.465
2022-May-07 12:00, +205.479
2022-May-08 12:00, +208.941
2022-May-09 12:00, +211.851
2022-May-10 12:00, +214.207
2022-May-11 12:00, +216.009
2022-May-12 12:00, +217.255
2022-May-13 12:00, +217.944
2022-May-14 12:00, +218.075
2022-May-15 12:00, +217.646
2022-May-16 12:00, +216.655
2022-May-17 12:00, +215.103
2022-May-18 12:00, +212.987
2022-May-19 12:00, +210.309
2022-May-20 12:00, +207.072
2022-May-21 12:00, +203.278
2022-May-22 12:00, +198.934
2022-May-23 12:00, +194.049
2022-May-24 12:00, +188.632
2022-May-25 12:00, +182.694
2022-May-26 12:00, +176.248
2022-May-27 12:00, +169.310
2022-May-28 12:00, +161.895
2022-May-29 12:00, +154.019
2022-May-30 12:00, +145.701
2022-May-31 12:00, +136.958
2022-Jun-01 12:00, +127.811
2022-Jun-02 12:00, +118.279
2022-Jun-03 12:00, +108.381
2022-Jun-04 12:00,  +98.139
2022-Jun-05 12:00,  +87.572
2022-Jun-06 12:00,  +76.703
2022-Jun-07 12:00,  +65.552
2022-Jun-08 12:00,  +54.140
2022-Jun-09 12:00,  +42.487
2022-Jun-10 12:00,  +30.615
2022-Jun-11 12:00,  +18.543
2022-Jun-12 12:00,   +6.289
2022-Jun-13 12:00,   -6.128
2022-Jun-14 12:00,  -18.690
2022-Jun-15 12:00,  -31.381
2022-Jun-16 12:00,  -44.183
2022-Jun-17 12:00,  -57.079
2022-Jun-18 12:00,  -70.049
2022-Jun-19 12:00,  -83.073
2022-Jun-20 12:00,  -96.130
2022-Jun-21 12:00, -109.196
2022-Jun-22 12:00, -122.247
2022-Jun-23 12:00, -135.260
2022-Jun-24 12:00, -148.207
2022-Jun-25 12:00, -161.063
2022-Jun-26 12:00, -173.801
2022-Jun-27 12:00, -186.397
2022-Jun-28 12:00, -198.821
2022-Jun-29 12:00, -211.050
2022-Jun-30 12:00, -223.056
2022-Jul-01 12:00, -234.815
2022-Jul-02 12:00, -246.300
2022-Jul-03 12:00, -257.488
2022-Jul-04 12:00, -268.355
2022-Jul-05 12:00, -278.879
2022-Jul-06 12:00, -289.037
2022-Jul-07 12:00, -298.810
2022-Jul-08 12:00, -308.178
2022-Jul-09 12:00, -317.124
2022-Jul-10 12:00, -325.632
2022-Jul-11 12:00, -333.688
2022-Jul-12 12:00, -341.281
2022-Jul-13 12:00, -348.401
2022-Jul-14 12:00, -355.040
2022-Jul-15 12:00, -361.188
2022-Jul-16 12:00, -366.838
2022-Jul-17 12:00, -371.983
2022-Jul-18 12:00, -376.613
2022-Jul-19 12:00, -380.721
2022-Jul-20 12:00, -384.297
2022-Jul-21 12:00, -387.332
2022-Jul-22 12:00, -389.816
2022-Jul-23 12:00, -391.741
2022-Jul-24 12:00, -393.097
2022-Jul-25 12:00, -393.877
2022-Jul-26 12:00, -394.072
2022-Jul-27 12:00, -393.675
2022-Jul-28 12:00, -392.679
2022-Jul-29 12:00, -391.078
2022-Jul-30 12:00, -388.866
2022-Jul-31 12:00, -386.040
2022-Aug-01 12:00, -382.594
2022-Aug-02 12:00, -378.527
2022-Aug-03 12:00, -373.838
2022-Aug-04 12:00, -368.525
2022-Aug-05 12:00, -362.590
2022-Aug-06 12:00, -356.036
2022-Aug-07 12:00, -348.867
2022-Aug-08 12:00, -341.089
2022-Aug-09 12:00, -332.711
2022-Aug-10 12:00, -323.742
2022-Aug-11 12:00, -314.194
2022-Aug-12 12:00, -304.080
2022-Aug-13 12:00, -293.412
2022-Aug-14 12:00, -282.204
2022-Aug-15 12:00, -270.468
2022-Aug-16 12:00, -258.218
2022-Aug-17 12:00, -245.464
2022-Aug-18 12:00, -232.220
2022-Aug-19 12:00, -218.497
2022-Aug-20 12:00, -204.304
2022-Aug-21 12:00, -189.655
2022-Aug-22 12:00, -174.560
2022-Aug-23 12:00, -159.031
2022-Aug-24 12:00, -143.078
2022-Aug-25 12:00, -126.714
2022-Aug-26 12:00, -109.950
2022-Aug-27 12:00,  -92.797
2022-Aug-28 12:00,  -75.268
2022-Aug-29 12:00,  -57.374
2022-Aug-30 12:00,  -39.129
2022-Aug-31 12:00,  -20.544
2022-Sep-01 12:00,   -1.635
2022-Sep-02 12:00,  +17.584
2022-Sep-03 12:00,  +37.098
2022-Sep-04 12:00,  +56.891
2022-Sep-05 12:00,  +76.943
2022-Sep-06 12:00,  +97.236
2022-Sep-07 12:00, +117.750
2022-Sep-08 12:00, +138.463
2022-Sep-09 12:00, +159.352
2022-Sep-10 12:00, +180.393
2022-Sep-11 12:00, +201.564
2022-Sep-12 12:00, +222.840
2022-Sep-13 12:00, +244.199
2022-Sep-14 12:00, +265.619
2022-Sep-15 12:00, +287.077
2022-Sep-16 12:00, +308.553
2022-Sep-17 12:00, +330.025
2022-Sep-18 12:00, +351.475
2022-Sep-19 12:00, +372.881
2022-Sep-20 12:00, +394.226
2022-Sep-21 12:00, +415.488
2022-Sep-22 12:00, +436.651
2022-Sep-23 12:00, +457.695
2022-Sep-24 12:00, +478.603
2022-Sep-25 12:00, +499.356
2022-Sep-26 12:00, +519.938
2022-Sep-27 12:00, +540.332
2022-Sep-28 12:00, +560.520
2022-Sep-29 12:00, +580.486
2022-Sep-30 12:00, +600.213
2022-Oct-01 12:00, +619.683
2022-Oct-02 12:00, +638.878
2022-Oct-03 12:00, +657.778
2022-Oct-04 12:00, +676.363
2022-Oct-05 12:00, +694.613
2022-Oct-06 12:00, +712.505
2022-Oct-07 12:00, +730.017
2022-Oct-08 12:00, +747.125
2022-Oct-09 12:00, +763.806
2022-Oct-10 12:00, +780.036
2022-Oct-11 12:00, +795.793
2022-Oct-12 12:00, +811.054
2022-Oct-13 12:00, +825.798
2022-Oct-14 12:00, +840.003
2022-Oct-15 12:00, +853.651
2022-Oct-16 12:00, +866.721
2022-Oct-17 12:00, +879.196
2022-Oct-18 12:00, +891.058
2022-Oct-19 12:00, +902.289
2022-Oct-20 12:00, +912.875
2022-Oct-21 12:00, +922.799
2022-Oct-22 12:00, +932.048
2022-Oct-23 12:00, +940.608
2022-Oct-24 12:00, +948.467
2022-Oct-25 12:00, +955.615
2022-Oct-26 12:00, +962.042
2022-Oct-27 12:00, +967.738
2022-Oct-28 12:00, +972.697
2022-Oct-29 12:00, +976.909
2022-Oct-30 12:00, +980.368
2022-Oct-31 12:00, +983.064
2022-Nov-01 12:00, +984.990
2022-Nov-02 12:00, +986.135
2022-Nov-03 12:00, +986.492
2022-Nov-04 12:00, +986.049
2022-Nov-05 12:00, +984.796
2022-Nov-06 12:00, +982.725
2022-Nov-07 12:00, +979.826
2022-Nov-08 12:00, +976.091
2022-Nov-09 12:00, +971.512
2022-Nov-10 12:00, +966.083
2022-Nov-11 12:00, +959.798
2022-Nov-12 12:00, +952.655
2022-Nov-13 12:00, +944.651
2022-Nov-14 12:00, +935.784
2022-Nov-15 12:00, +926.056
2022-Nov-16 12:00, +915.468
2022-Nov-17 12:00, +904.023
2022-Nov-18 12:00, +891.727
2022-Nov-19 12:00, +878.586
2022-Nov-20 12:00, +864.608
2022-Nov-21 12:00, +849.803
2022-Nov-22 12:00, +834.184
2022-Nov-23 12:00, +817.766
2022-Nov-24 12:00, +800.566
2022-Nov-25 12:00, +782.602
2022-Nov-26 12:00, +763.895
2022-Nov-27 12:00, +744.464
2022-Nov-28 12:00, +724.332
2022-Nov-29 12:00, +703.519
2022-Nov-30 12:00, +682.046
2022-Dec-01 12:00, +659.932
2022-Dec-02 12:00, +637.197
2022-Dec-03 12:00, +613.862
2022-Dec-04 12:00, +589.948
2022-Dec-05 12:00, +565.475
2022-Dec-06 12:00, +540.464
2022-Dec-07 12:00, +514.938
2022-Dec-08 12:00, +488.921
2022-Dec-09 12:00, +462.437
2022-Dec-10 12:00, +435.509
2022-Dec-11 12:00, +408.166
2022-Dec-12 12:00, +380.433
2022-Dec-13 12:00, +352.338
2022-Dec-14 12:00, +323.912
2022-Dec-15 12:00, +295.183
2022-Dec-16 12:00, +266.182
2022-Dec-17 12:00, +236.942
2022-Dec-18 12:00, +207.495
2022-Dec-19 12:00, +177.875
2022-Dec-20 12:00, +148.118
2022-Dec-21 12:00, +118.260
2022-Dec-22 12:00,  +88.341
2022-Dec-23 12:00,  +58.399
2022-Dec-24 12:00,  +28.476
2022-Dec-25 12:00,   -1.387
2022-Dec-26 12:00,  -31.151
2022-Dec-27 12:00,  -60.776
2022-Dec-28 12:00,  -90.226
2022-Dec-29 12:00, -119.466
2022-Dec-30 12:00, -148.463
2022-Dec-31 12:00, -177.185
2023-Jan-01 12:00, -205.602
</code></pre>
<p>Here's a <a href="https://sagecell.sagemath.org/?z=eJyVWmtT20rS_u5fMUecHEvEFpZvGKpc7zrESchC8GKf3coSyjVYY1tBtyPJXELlv-_TPZIsA3lrl0qwNNPd0_fuaWMYhrhUWeKpOyVGcSwTFWbiSxSFYplEgfgUJd6PKExrAj8ydMUiCu9UkoksEuNoJszxXxuZeQCPlmLmBcoSXigCL9xkSiOdRAFRFfdethZ30t8o0Ahi7Ltik3rhSqicRMpHMtKnzWqtUqEyIf0GnzuRya1-t2sMcqmWCswuVHqsF2ZrVbIrAhlupM_r6yyL0-ODgzR17e-xb4cylfYqujtY58AHGtheZ4G_t0qUCu-9xboZKBk2U8_FKdJvZpBte87nyZmY-DJUmUwemb-zTSgTMY7XKlAJkFLxftzttniPnhzG3UohzHar7Vg7HLqRZ0fJ6sBp2Z1B9_DA6XUGzc5g4BzIG7frdPX5zzVeUVhDfJW-H8UN8QdUsVbhrcJ5pnM0OPrlSU7rqHMQhIlMD9qdgd21nV77SJ_0r8TLMhWKm0cxORftSzIWuG7brZ7tdBjkz9iVZEm93Ac1bZxNKGQqJo_ZOgobIowyMZUr9VvNMIxazQviCC6UqAb-_7VRaZbW2NuWm3CRRZGfihzETzbzhVysld4PJHyowJauJ0OI7CqyGR7gTA34Fp5kJsO2RiH2yHYFWvHeEPQb5s-fXOVnslYeE_tR5ns3duYtoMMCebqQvkw-RAkgMpXUlsWTGD7fMzepulguU5UNP0g_VVattkl8wBm_9EcZe6VPzpeer2ysGDX8miPkUjI50B27BRXeyFTNF4FLK1Dp-ejv4_l48ml8Pvw6ntZOLs7PR1_eD2ENXpzPvk7Gw4t30_HlP8eXtZPxl9n4clhfRFHi_q1zdFQHxsXlew32cXzxfjw7Pan948_Rl9np7HQ8HdY73XrtcvxhPv06neGQ-unJ5Qdgjc7mHy4uz0ezYf3dxexTvTY7PR_P359-PJ0B6fz0y5-z8bReG335WMK9H3_EwmQyugQXw_ro9PJsPAXMyfSfJcxXQrp493n-fjQbDetfLuracf5W-oMZyIfU-6GGXavmqqVYqmyxnsO40kwRkxm8IaM4SDMVk1NAUOuYXVMrbUn0fvv99-nFh9pTocyftelsdDmbkxDD-hMT-lnH4sVkuxbFvDSezKen_9ZLipdOZ-M5qxFrfCAWccIYJ9BhdDa8HWcXPm_HUZqZ8IoGeaUcPtW1P9WPRT1TD1n9Z0OQG6TY8UJkTGyYdfBZb5AU1k8d0wGTtFMlk8XaTIzR5FTAytPTiy_H39J989t03zI40myiqpG8JfC8FJk-VFov9BMnXpiZxrn0iRNF2T4IKIMRGwirGwQBkoBhPcMgbp4t7R6nhc82Scgn6vSyderAXiXRJjadkrli77ehqPj_c06Xxr9kEoKjY0FSF0iQ6yl_hgpvNqhWa6yli8SLM9qFdOKpQvcnJHpVl-b_pda337_BTcamvc-P44vx_6bNLxeCg3B8eTp9obn_Qk3kGzs6unKOr3ln7zUa-WJdvKmLfdFp6VXfC1GShiXfdhr7XsarpobIuf0WGvb3yAtN3rvqHjv9a8uqVTgjfmocdKCTyEVGYafmKspM2mJnVjruqITOQzQT8022yOMvF4c-XjKRb16lesusN-rW1XHTuWaTpdRbEMiO-Pv61FTFQ-I-t-SemNCu4CBGOaTAFZ83PmoGSDymWGI-q7J_QPI_hnGZ4lXr-uq4fb2jnFl0LEQJALY0BINkc4Qz8X5dSKIqr8S-B7eJ7kkGFW7QJQCCNWZtXWZPjLVOBaqJCl20FESo3McqvZMho3twWHsFcyskZJRFS5dGqE5CV8JQrKNNkpa4390GAc55Fywv_UjCrXDC5tpi1jeEZDoN0bWuK0ee7DSDDQJKFTpEd0ubXSAnvOMO4q1od-Gh5ndXvBHONgDgSIA1nTYgSq6aW0IWwIHZFE67xGHlo1zG0JlpkjxEBe7fb7Usq6qlc3mrWA1wjCDe8okQ9kC48F0xHIrW1i708xiA7Dogo-ZmyJ3U2gWD2yMGAAWEHMJoGrtAGVFxIWCA_-S1-ADpHRhmZUemLH0RidT3sPA6IlM0f8qMWw0RO7lbGdSv8jo1jBleKOB0dx-3yHSxo6vTA9AeW2As1k3cA-z96NC7Uz3VxFoTgJY4EOYDPT8gyfDxN-qHydzkZ-_RlSKJHryAnBZN2QquSJ2aWkg8oE9DKOTOkq0yjnyWYD_WfheTS_3wYk01F_WqfXydu-Eukt6lkLyGPmnv7bO9pkbNmXu38XxXvFM_PHRwi01yl6eDLL4DVTp2n39pkRpEUes_Y001xB1pK0QaNIGitzSZbeBTxOPF1CjWNhugRYGr3JGAQN66mksSZdBq1tquPZC7ZFB4Z7tGDLiP2AAX-wAhYvS5rSTRvQ3eyH3ofCiDgB75Aaw0hEnH8Bp9PvIKXqzrrbNqcQovBEWrSn4r5gut5OJVHSfXMHtKHPmP5iJSy2VDPBSeirvomG6I5CySQcIo8HBX0vdEXO5CldRTkWz8SkokIkiFVH_Ju5F-ENrIeGjCg4KurtIZF0Cq-crVh2tp7gorerl9y5TnZVvDEBRp-AH621TluqvVvrdbrdZcxdFiDah2t-f0uj27VeOVOZu0uHiYBNoQjv7Xhlf98MJlNCyuIzaVSq0kN0jnWTRPTZdzShFV-bGU28jgYKdPD5RKoN09cRGolRQmJUyhFj56Hm8h_ChcednGLbPAOfIwdCnTBSxL6g0jF7eUPa1Qb-FRqJIO0AohXhF8M3rLqwuQwIQHc-4JKpuv3GwjYmPO1MhPwHopj9PuNQRE77bs9gCeiL3mdvOo022IAZTTsnudI949tLs9oLTsVmvQqF2TlCd6iCDuZOJFmzQvcDxgIKbOSfpSaN2K4DIeBdKHX75UC62RUAkkzx4boHDprdaZGJF-qEdsiIsb3_trg91ChQUVunrqMQFXFkJ-cUnXDdNf4TxachVDQg_LLDnLy_Jz5dKVdqH0OMYRn7FFzqOnEFQjQQORW3E-ysmdfq_dK1Lcx2KcoRUyLfjkE5F-A88NSc4XtTs3azFQscn6qfhz5ujb_GzGUKsgJd_maDb7hx0yWRemG_S7LWfQtQdOe9Dvs-GOsAm7Nvt2WzX7yDWzslMbud83oDOjYpQT5us4y9js2J0-XNuxOz1qF2bUONidjrW_37aw4KjmIKeTd2mMK2ZGo6Cyr3WCT-Ir74hBZ5gDFHzs-gwvnpXSwVHtbr_fOmxw5LXsw_7RAIHcsVvtnmp2dyQ6r3ibVhTodHqHdq89AP-d3tHRkd3qtTrgKdckzRDymYa5KgmNK07JS2pRcgSlOv3D1qBP8dLs2u1W51A1ESZNx2738Xi4w1PVJTlREmEt5Qkd3gYvoL5PTmeuEot1zlrj1XKL4LCtESmx6fmLeZKUR51ESaLQilIe1YF3o5JEn_6HCDeZfvSea7sCBn6g76NeTzd5nEwKySuZhQRkn8_DQm9Vdakx3xBI3sujY90kN-RblfMg7KHtHB31cylzQlZJvTTI88xha7vQbMc8A50ThGR-hqXPzQGqXCm_VNYv04pdDcTPkzOUU0-WIzwV2vferRcrEORZHr0dFOztlVQ54axxP8t3ShO9muVrZUklcQbdzsCxu60--VffHnT6cHr2r0EHcQe3ayMjd7qq2cFqDyEBp2NfpLWB1nekCru9bjG1Yy1V6uVZ_tWlTxIwj_dMshKUSjlgERFmYvH4jxfzPllW_BO4hT1eiYgiBVdzYH4T6XaQYGFYTnZNIrqPEt8iYpxPsMYg1eIMVCpS2_R7RhXkTCLRjvxMmLeBVStHzTikjmBuiB6UfXgIWoecMhHch_W8X5JoWviibeorSrLbDBTdhY2dmOtLDtYQ9Tdfm29umm_cumUnKvblQpmv9xzbC53czk2Rkys3SlxcETO6O8moXqMEmW5W3O0583Kr2hRF77PDJgHYWZRJf55r2iRv0Hp8Wy1lWu786wY-Bv-pWyrOItuU_dXb7RDXpOv98GVprPKxNJ7czJZpoQCTyBZ6Em8-Hb85_0nzRtQTRZdq5iWQ8DieJwzrRLeJgtx06nrUyEtOZUlhyXHr1L3wNHBo1n3yAZ98QOY-AMjSC-C9xArgCq6wq5uj4lY6dBBybpSlw1myQcvCHXX-nK6j-7nk61a-kskbP98FDZ6WOojke8_N1kN0X-ndSs-mwc8GptzwLD8fV-dfquBaTOXepENFlN-S6IGJWy-GXVPlU-JHZ-ErqFdACoouQs_ZbZTYxvOhlz6SJKcJLQ8h6CW_c_2gW0Vpr9LaPMoYMlyeb3jqngNXYZw2PEITZMAXg2Lg8BoFEe59lt6rvqnyTfPkZT7zarxIJXy_zkfIFEN6cmxUTtbXgkpg8yqVXS3BFpJPeCqQXvFTDRnFr5CM4hcUo7ggyBi_oOdzEdZWYAeujuRa-RVxd6IzFDy0IcwD4fR2xpf_zYC-8DhGeTFOrfpIdfJBaeB_G0RWp4dG0eHm3rhHPYvLt3Iifpw7tmuV8bATCtXR3ZRtRRV8lch4Xe5MwOFHWvEWaWVYlJPaHTJNqCuNIxyZFjMPDtwe6ciPkqGRKNfYIfKMj5LKDc815rHM1uZ2MPNrOpUEskuNEUd6itHYucNkllXMMsgQhdKud9D3ysmy_pLy2SjsmcJHFY3_v4oZvdAMZ1KjMu27vZfJiidt3iIzK-Q4bof8u7GzvLidl9_pDdv7V-XLdRVulXguT62HV1cbGj2U8wL2uOuGMAIvjBIDT8tEBtskXPzIB5XOfbSfPmgY2_qKO4uR10VCroDNdf62nR59KbTiN_q11dLEnnMczG_v3dTWydzUKtiZgI5ctzL6pp_HgL45fQwkjZkmNr1SuqMn-WBaW8YfeaopaQJi8meTcakFa9lOCUbqoHnlY-CWSnnFQel7CJOnqjzdpPnTMoJ9STQjxdXJNxo7WKKw9A2amFvoiloDb4FeQvreKgzQyw4NZBXjmbx8u5RpTJWJ2_1y94Elf4AojedaeCi18KC18IpmSjo5cTSLD1otD6yWg101VUyFbDzXSHPmCJe5AbSY0znQRboiBsXn3WpXictQ8lid_bhs7Qz6gsKYG5T2DRtIxq7m7VTeKZNxdyOM_0AjilWoN0EkARGZiuXxMyvolEZ_LmEuca50TWtLitKIOdmmSy71L7-4-xY-Md8_X3wlZvybGgD-muMPPU8R-k9N8sCwKhja00I97i9z9g67xYFPr7WSPxviCajHbwd2ZwlW_gOpDSOP&amp;lang=python" rel="nofollow noreferrer">live version of the script</a>, running on the SageMathCell server.</p>
<p>The start &amp; stop times are for noon in the given time zone.</p>
<p>Dates <em>must</em> be given in YYYY-Mon-DD form, the <code>step</code> can accept any of the usual Horizons time step forms, see the <a href="https://ssd.jpl.nasa.gov/horizons/manual.html" rel="nofollow noreferrer">Horizons manual</a> for details. If you prefer, here's the <a href="https://ssd.jpl.nasa.gov/api/horizons.api?format=text&amp;MAKE_EPHEM=NO&amp;COMMAND=%27%3F!%27" rel="nofollow noreferrer">Horizons manual</a> in glorious ASCII. ;)</p>
<p>The time <code>zone</code> must be given as a plain integer or floating-point number, <em>not</em> in HH:MM format.</p>
<p>Select <code>table</code> to get a printed table of results, as shown above.</p>
<p>Select <code>show_approx</code> to see green dots calculated using the above <code>eqn_of_time</code> function plotted on top of the main Horizons data.</p>

CC BY-SA 4.0
2022-06-11T11:21:26.590Z
Wow. that a fantastic answer. will look deeper later on. but note sure I understand what is T and TT? Also it is probably not the case but maybe great part of this 1 sec gap is actually due to the estimate of equation of the center? I see only few terms there
d_e
CC BY-SA 4.0
2022-06-11T13:40:26.230Z
@d_e TT is [terrestrial time](https://en.wikipedia.org/wiki/Terrestrial_Time), a uniform timescale. UT1 is a mean solar time scale, so it contain the irregularities of the Earth's rotation. UTC is kept within 0.9 s of UT1 via leapseconds. We convert between them with [$\Delta T$](https://en.wikipedia.org/wiki/%CE%94T_(timekeeping))$=TT-UT1$. Hughes gives a very simple formula for $\Delta T$which only accounts for the long-term trends of the past few centuries. JPL Horizons uses a much more sophisticated conversion. But it's impossible to predict the exact future values of $\Delta T$.
PM 2Ring
CC BY-SA 4.0
2022-06-11T13:46:40.067Z
@d_e $\Delta T$ is probably the main source of long-term differences between my EoT & Horizons'. The Equation of the Centre is probably ok because Earth's eccentricity is small. We could get a little more accuracy by solving Kepler's equation. Another issue is nutation, but that's horrendous. See http://www.neoprogrammics.com/nutations/
PM 2Ring
CC BY-SA 4.0
2022-06-11T14:28:44.863Z
I see. thanks again for this answer.
d_e
CC BY-SA 4.0
2022-06-13T18:35:24.217Z
“The variation in the exact time of perihelion passage doesn't have too much of an effect on the EoT. That's because we don't use the argument of perihelion as a point of reference.” – The perihelion has a physical effect, the eccentricity effect. What means “we don't use it as a point of reference”?
George Lee
CC BY-SA 4.0
2022-06-13T18:43:51.247Z
And where does the equinox come in, which causes a different effect, the obliquity effect?
George Lee
CC BY-SA 4.0
2022-06-14T17:38:23.460Z
I do understand what the role of the equinox is in obliquity effect. But I don't understand what is its role in the eccentricity effect (or vice versa), as you mention "equinox" and "perihelion" together, in your answer and in your comment.
George Lee
CC BY-SA 4.0
2022-06-14T18:04:06.563Z
How does $\Delta T$ affect the EoT? How is EoT related to the daily rotation of Earth?
George Lee
CC BY-SA 4.0
2022-06-14T18:08:03.510Z
It looks like there is another component in the difference between your calculations and Horizons' with a cycle of about 25 days. What could it be?
George Lee
CC BY-SA 4.0
2022-06-15T02:40:48.887Z
@George The equinox has no role in the eccentricity effect. It's just that we measure ecliptic longitude from the equinox point. The [equinox is precessing](https://en.wikipedia.org/wiki/Axial_precession) (with a period of ~26,000 years); the [line of apsides](https://en.wikipedia.org/wiki/Apsidal_precession) of the EMB is also precessing relative to the stars, but with a much longer period. However, my calculations use the J2000.0 equinox, i.e., the equinox at 12:00 UTC on 2000-Jan-01.
PM 2Ring
CC BY-SA 4.0
2022-06-15T02:44:55.073Z
$\Delta T$ is needed to convert from UTC to TT. Ephemeris calculations need a uniform time scale, and UTC isn't completely uniform, since it uses leapseconds to keep in synch with the Sun.
PM 2Ring
CC BY-SA 4.0
2022-06-15T02:45:18.190Z
Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/137111/discussion-between-pm-2ring-and-george-lee).
PM 2Ring
CC BY-SA 4.0
2024-05-24T07:48:42.277Z
@PM2Ring how did you get Horizons to output EoT? I tried at https://ssd.jpl.nasa.gov/horizons/app.html, but "Table Settings" doesn't have it.
TWiStErRob
CC BY-SA 4.0
2024-05-24T08:19:03.357Z
@TWiStErRob Horizons doesn't provide EoT directly, but it can give solar time for any location. See https://ssd.jpl.nasa.gov/horizons/manual.html#obsquan *34. Local Apparent Solar Time*. And set the observing center to Greenwich. The [Horizons API](https://ssd-api.jpl.nasa.gov/doc/horizons.html) is pretty easy to use. I mostly use the file-based POST interface.
PM 2Ring
CC BY-SA 4.0
2024-05-24T09:25:25.103Z
@TWiStErRob Here's a minimal demo, in Python. Uncomment (remove the leading `!`) the `!ANG_FORMAT=DEG` line to get the solar time in decimal hours.
PM 2Ring
CC BY-SA 4.0
2024-05-24T09:25:40.667Z
https://sagecell.sagemath.org/?z=eJxFkF1rwjAUhu%5FzK2IQbKHW%2DrELCwGrVqlg62w32G5KZqPN0KZrTje34X9fqshyl%5FNwXt7ziFMpK8AV%5F6i5AoXq6ogpJjlAqdxeT6nMfi%2DPdsEUsw%5Fys8dK0ctlJX5kodK9OHJbTwhCu1PW7BHSarfjaIGi6Sqde4lHwwjNovXaC%2De076CZHyb%2DljqT4XiMHp%2D8MAmSwI%5FpcIRaXrhMF9F27SV07i%5FRLH6%2Df1%5F8GMWJt03SJFj7tDNwBqPuihXdPu4PXMfpaBpt%5FuHDDTZjf5PGwatP%2Dxn7RroeQhNRAK%5FYDlDG9%5FggjTcGu5wGRVnDVJ4NfYmFv0QGOR05Fs65OORAB45pYVaDTOsyY8Dpgh0VN12E9RN7XEjA1yBXu4S6Kq5Aa9VW7nLtUiowtGEL6whGf8leVicGxMUE%2DBnIxcKNUqWJaOpoYBDdh1i3bPNiXmPLSt9g6Fi7WTPRH81AiZ8=&lang=sage
PM 2Ring
CC BY-SA 4.0
2022-06-11T06:38:21.730Z
2024-07-19T08:46:18.237Z
2024-07-19T08:46:18.237Z
PM 2Ring
<p>At <a href="https://en.wikipedia.org/wiki/Equation_of_time#Obliquity_of_the_ecliptic" rel="noreferrer">Wikipedia</a>, they give equal values (9.87 min) for all four extremes – both troughs and both crests – caused by the obliquity of the ecliptic as seen in the graph below, where the purple dashed line is what is caused by the obliquity of the ecliptic.  <a href="https://i.sstatic.net/JCixb.png" rel="noreferrer"><img src="https://i.sstatic.net/JCixb.png" alt="causes of the equation of time" /></a>But the duration of the four seasons are not equal, as you can see <a href="https://www.timeanddate.com/calendar/seasons.html" rel="noreferrer">here</a>. So what effect does it have on the equation of time?</p>
<p>Also, the time from a perihelion to the next aphelion is not always the same as the time from that aphelion to the next perihelion, as seen in <a href="http://astropixels.com/ephemeris/perap2001.html" rel="noreferrer">this almanac</a>. As a consequence, the greatest delay of noon caused by the eccentricity of the orbit shouldn't be equal to its greatest advance. So how big can the difference be?</p>
<p>Also, the dates of the perihelion and aphelion, as well as the actual sun-earth distance at these events aren't the same each year, as seen in <a href="http://astropixels.com/ephemeris/perap2001.html" rel="noreferrer">the above reference</a>. So the actual latest and earliest noon varies from the given dates. My question is, how much can they vary?</p>

CC BY-SA 4.0
2020-12-21T19:53:28.617Z
Anyone who can improve the terminology or the explanation of this question, would be appreciated.
George Lee
CC BY-SA 4.0
2022-06-09T18:59:11.727Z
There are lots of equations for the EOT, the Nautical Almanac and Astronomical Almanac publish versions only valid for the year the almanac is for.  This page https://www.celestialprogramming.com/snippets/equationoftime-simple.html has a comparison between a simple version and a version that somewhat accounts for precession and nutation.  It also has code for versions from the Astronomical Almanac for 1982 and 2016.
Greg Miller
CC BY-SA 4.0
2022-06-09T20:15:10.660Z
An excellent reference is [The Equation of Time](https://adsabs.harvard.edu/full/1989MNRAS.238.1529H) by Hughes, Yallop, & Hohenkerk (1989) https://doi.org/10.1093/mnras/238.4.1529 Unfortunately, there's a sign error in their equation for sidereal time, but I think there are no other errors. Using their (repaired) equations combined with the most recent JPL equation for obliquity of the ecliptic, the EoT values I calculate are within a few seconds of the values I get from Horizons, over a few millenia either side of J2000, IIRC.
PM 2Ring
CC BY-SA 4.0
2022-06-14T02:15:13.890Z
Related: https://astronomy.stackexchange.com/q/25567/16685 https://astronomy.stackexchange.com/q/8478/16685
PM 2Ring
CC BY-SA 4.0
2022-08-22T18:51:14.893Z
@PM 2Ring The Hughes reference (1989) is good, but note the accuracy limitation stated in the abstract (mainly due to omitting lunar & planetary effects)): "An equation is developed which gives the Equation of Time as a function of Universal Time. This enables it to be calculated for any epoch within 30 centuries of the present day, to a precision of about 3 s of time. We also give several expressions for the Equation of Ephemeris Time which ignores the distinction between the time-scale of the Ephemeris and Universal Time, and so may be compared with expressions given in old text books."
terry-s
CC BY-SA 4.0
2022-08-22T19:22:49.510Z
@terry-s Yes, ignoring lunar & planetary effects simplifies the calculation considerably. My code below has some slight improvements to the Hughes algorithm, including a crude estimation of nutation using the mean longitude of the Moon's ascending node.
PM 2Ring
CC BY-SA 4.0
2022-08-22T21:38:25.833Z
@PM 2Ring  You might also find it need not cost too much to put in the main lunar effect dependent on moon's solar elongation, and the main effect from Jupiter and Venus.
terry-s
<time>
How accurate is the "Equation of time" (mean time to actual solar time)? And how much can it vary from the average?
George Lee
# How accurate is the "Equation of time" (mean time to actual solar time)? And how much can it vary from the average?

(Asked by: username_0 on 2020-12-21)

At [Wikipedia](https://en.wikipedia.org/wiki/Equation_of_time#Obliquity_of_the_ecliptic), they give equal values (9.87 min) for all four extremes – both troughs and both crests – caused by the obliquity of the ecliptic as seen in the graph below, where the purple dashed line is what is caused by the obliquity of the ecliptic. [![causes of the equation of time](https://i.sstatic.net/JCixb.png)](https://i.sstatic.net/JCixb.png)But the duration of the four seasons are not equal, as you can see [here](https://www.timeanddate.com/calendar/seasons.html). So what effect does it have on the equation of time?

Also, the time from a perihelion to the next aphelion is not always the same as the time from that aphelion to the next perihelion, as seen in [this almanac](http://astropixels.com/ephemeris/perap2001.html). As a consequence, the greatest delay of noon caused by the eccentricity of the orbit shouldn't be equal to its greatest advance. So how big can the difference be?

Also, the dates of the perihelion and aphelion, as well as the actual sun-earth distance at these events aren't the same each year, as seen in [the above reference](http://astropixels.com/ephemeris/perap2001.html). So the actual latest and earliest noon varies from the given dates. My question is, how much can they vary?

**Tags:** time
> **Comments:**
> **username_0**: Anyone who can improve the terminology or the explanation of this question, would be appreciated.  
> **username_1**: There are lots of equations for the EOT, the Nautical Almanac and Astronomical Almanac publish versions only valid for the year the almanac is for.  This page https://www.celestialprogramming.com/snippets/equationoftime-simple.html has a comparison between a simple version and a version that somewhat accounts for precession and nutation.  It also has code for versions from the Astronomical Almanac for 1982 and 2016.  
> **username_2**: An excellent reference is [The Equation of Time](https://adsabs.harvard.edu/full/1989MNRAS.238.1529H) by Hughes, Yallop, & Hohenkerk (1989) https://doi.org/10.1093/mnras/238.4.1529 Unfortunately, there's a sign error in their equation for sidereal time, but I think there are no other errors. Using their (repaired) equations combined with the most recent JPL equation for obliquity of the ecliptic, the EoT values I calculate are within a few seconds of the values I get from Horizons, over a few millenia either side of J2000, IIRC.  
> **username_2**: Related: https://astronomy.stackexchange.com/q/25567/16685 https://astronomy.stackexchange.com/q/8478/16685  
> **username_3**: @PM 2Ring The Hughes reference (1989) is good, but note the accuracy limitation stated in the abstract (mainly due to omitting lunar & planetary effects)): "An equation is developed which gives the Equation of Time as a function of Universal Time. This enables it to be calculated for any epoch within 30 centuries of the present day, to a precision of about 3 s of time. We also give several expressions for the Equation of Ephemeris Time which ignores the distinction between the time-scale of the Ephemeris and Universal Time, and so may be compared with expressions given in old text books."  
> **username_2**: @terry-s Yes, ignoring lunar & planetary effects simplifies the calculation considerably. My code below has some slight improvements to the Hughes algorithm, including a crude estimation of nutation using the mean longitude of the Moon's ascending node.  
> **username_3**: @PM 2Ring  You might also find it need not cost too much to put in the main lunar effect dependent on moon's solar elongation, and the main effect from Jupiter and Venus.  

---

## 1 answers

### Answer by username_2 on 2022-06-11. Score: 9 | Accepted answer

Extremely precise calculation of the EoT (Equation of Time) isn't easy. You need to include the effects of the perturbations by other bodies on the motion of the Earth, especially the Moon, and as I've mentioned numerous times, lunar theory is complicated. ;)
Although the primary focus of your question is the EoT, I think it's appropriate to digress briefly to discuss the perihelion.
The variation in the exact time of perihelion passage doesn't have too much of an effect on the EoT. That's because we don't use the argument of perihelion as a point of reference. Traditionally, we use the equinox point, aka the First point of Aries. Modern approaches use the ICRF (International Celestial Reference Frame).
The Earth's orbit around the Sun is approximately a Keplerian ellipse. A better approximation considers the EMB, the Earth-Moon barycentre (their centre of mass), as the entity orbiting the Sun, and then we look at the orbit of the Earth and Moon around that barycentre.
The EMB is located inside the Earth, but its distance from the centre of the Earth varies with monthly, annual, and longer cycles.
Here's a daily plot of the distance between the centre of the Earth and the EMB, produced using JPL Horizons. We see that the maximum variation occurs around perihelion and aphelion. (The mean distance in that plot is ~4678.1 km). That is, the orbital radius of the Earth-Moon system varies depending on the distance to the Sun.

Here's a plot of the distance between the EMB and the Sun for the year 2000. The perihelion distance is ~147.1 million km, the aphelion distance is ~152.1 million km, so the difference between them is ~5 million km, which is more than a thousand times greater than the mean Earth-EMB distance.

Near perihelion, the EMB-Sun distance doesn't change much, but the Earth's orbital speed is near its maximum. So the exact time of Earth's perihelion can vary quite a bit depending on Earth's position in its orbit around the EMB.
However, the time of the perihelion passage of the EMB is much more stable. So the general orientation of the EMB's orbit around the Sun, and the variation in the EMB-Sun distance caused by eccentricity is also more stable than what you might assume from the variation in the time of the perihelion passage of the Earth itself.

The largest error in using a "generic" table of EoT values is due to the fractional part of the year. But you can adjust for that by subtracting a ¼ day for each year in the leap year cycle and interpolating.
That graph in the question was created using simple EoT equations (see here for details), similar to my graphs here, which were created using the crude equations from Wikipedia, for the year 2000.
Here's a fairly accurate EoT component graph (using the same color scheme), using 4 day steps for midday at the location of the Greenwich Observatory. The EoT curve (in red) was produced using Horizons, so it's about as accurate as you can get. The obliquity (purple) and eccentricity (blue) components were computed using an algorithm I cobbled together using equations from The Equation of Time by Hughes, Yallop, & Hohenkerk (1989) doi: 10.1093/mnras/238.4.1529 combined with more recent equations for sidereal time and obliquity from JPL. The full form of my algorithm matches Horizons' values to within 1 second in years near 2000, and is still quite close for several centuries either side of that date.
I should mention that the red EoT curve isn't exactly the sum of the two component curves. There's a non-linear interaction between the two components, but it's fairly small because the eccentricity of the Earth's orbit is fairly small.

Here's a version covering a decade. Apart from the effect of the leapyear cycle, it's not easy to see any variation from year to year.

Here's a graph of the rate of change of the EoT and its components for the year 2000, created by differentiating the crude equations from Wikipedia. It clearly shows that the obliquity has much more influence than the eccentricity does on the change in solar day length.

Here's a plot of my EoT values minus Horizons' values, using a 1 day step. As you can see, the difference is less than 1 second.

Here's my Python EoT function.
""" The Equation of Time

    References:

    The Horizons manual
    https://ssd.jpl.nasa.gov/horizons/manual.html#greenwich-mean-sidereal-time

    The JPL Planetary and Lunar Ephemerides DE440 and DE441
    Park et al (2021)
    https://doi.org/10.3847/1538-3881/abd414

    Equation of Time
    Hughes, Yallop, & Hohenkerk (1989)
    https://doi.org/10.1093/mnras/238.4.1529

    Written by PM 2Ring 2022.05.13
    Updated 2022.06.10
"""

from math import radians, degrees, sin, cos, atan2

j2000_epoch = 2451545.0

def dms_to_s(d, m, s):
    return 3600 * d + 60 * m + s

def poly(coeff, x):
    """ Evaluate a polynomial using Horner's rule
        coeff[0] is the constant term
    """
    it = reversed(coeff)
    v = next(it)
    for u in it:
        v = v * x + u
    return v

# Omega (mean ecliptic longitude of the Moon's ascending node)
# coefficients in arcsecs, T in Julian centuries
# From Park et al (2021)
omega_coeff = [
  dms_to_s(125, 2, 40.280),
  -dms_to_s(1934, 8, 10.539),
  7.455, 0.008,
]

# Compute various solar values
# Mean longitude, mean anomaly, ecliptic longitude, eccentricity,
# Right Ascension, Obliquity of the ecliptic, sidereal time,
# Equation of Time

def eqn_of_time(jdn):
    # Time in Julian centuries since Noon 1 Jan 2000
    T = (jdn - j2000_epoch) / 36525

    # Greenwich Mean Sidereal Time at midnight, in seconds
    # From Horizons. T is UT1, not TT
    gmst = poly((67310.548, 8640184.812866, 0.093104, -6.2e-6), T)

    # Adjust T to TT
    deltaT = (-3.36 + 1.35 * (T + 2.33)**2) * 1e-8
    # print("delta T", deltaT * 36525 * 86400)
    T += deltaT

    # Mean longitude
    L = poly((280.46607, 36000.76980, 3.025e-4), T)

    # Mean anomaly
    g = 357.528 + 35999.0503 * T
    gr = radians(g)

    # Eccentricity
    ec = poly((0.016708634, -4.2037e-5, -1.267e-7), T)

    # Equation of the centre
    Cr = 2 * ec * sin(gr) + 1.25 * ec * ec * sin(2 * gr)
    C = degrees(Cr)

    # Correct for mean aberration & nutation in longitude
    aberration = 20.49552
    omega = poly(omega_coeff, T) / 3600
    omega_r = radians(omega % 360)
    perturb = (aberration + 17.1996 * sin(omega_r)) / 3600

    # Ecliptic longitude.
    el = (L + C - perturb) % 360
    elr = radians(el)

    # Obliquity of the ecliptic.
    # From JPL, via https://en.wikipedia.org/wiki/Ecliptic#Obliquity_of_the_ecliptic
    # Coefficients in arcsecs
    coeff = (84381.406, -46.836769, -1.831e-4, 2.0034e-3, -5.76e-7, -4.34e-8)
    oe = poly(coeff, T) / 3600
    oer = radians(oe)

    # Right Ascension
    rar = atan2(sin(elr) * cos(oer), cos(elr))
    ra = degrees(rar) % 360

    # Equation of Time in seconds
    eot = (43200 + gmst - ra * 240) % 86400 - 43200
    return eot

Here's an EoT table for Greenwich, calculated using Horizons, not the above code.
Equation of Time from 2022-Jan-1 to 2023-Jan-1
Zone date & time,  EoT (seconds)
2022-Jan-01 12:00, -212.403
2022-Jan-02 12:00, -240.575
2022-Jan-03 12:00, -268.394
2022-Jan-04 12:00, -295.824
2022-Jan-05 12:00, -322.829
2022-Jan-06 12:00, -349.377
2022-Jan-07 12:00, -375.437
2022-Jan-08 12:00, -400.980
2022-Jan-09 12:00, -425.981
2022-Jan-10 12:00, -450.415
2022-Jan-11 12:00, -474.258
2022-Jan-12 12:00, -497.490
2022-Jan-13 12:00, -520.091
2022-Jan-14 12:00, -542.043
2022-Jan-15 12:00, -563.328
2022-Jan-16 12:00, -583.932
2022-Jan-17 12:00, -603.839
2022-Jan-18 12:00, -623.038
2022-Jan-19 12:00, -641.517
2022-Jan-20 12:00, -659.266
2022-Jan-21 12:00, -676.276
2022-Jan-22 12:00, -692.538
2022-Jan-23 12:00, -708.045
2022-Jan-24 12:00, -722.790
2022-Jan-25 12:00, -736.766
2022-Jan-26 12:00, -749.968
2022-Jan-27 12:00, -762.390
2022-Jan-28 12:00, -774.024
2022-Jan-29 12:00, -784.865
2022-Jan-30 12:00, -794.906
2022-Jan-31 12:00, -804.139
2022-Feb-01 12:00, -812.559
2022-Feb-02 12:00, -820.160
2022-Feb-03 12:00, -826.938
2022-Feb-04 12:00, -832.892
2022-Feb-05 12:00, -838.022
2022-Feb-06 12:00, -842.329
2022-Feb-07 12:00, -845.818
2022-Feb-08 12:00, -848.495
2022-Feb-09 12:00, -850.365
2022-Feb-10 12:00, -851.438
2022-Feb-11 12:00, -851.724
2022-Feb-12 12:00, -851.232
2022-Feb-13 12:00, -849.976
2022-Feb-14 12:00, -847.967
2022-Feb-15 12:00, -845.220
2022-Feb-16 12:00, -841.750
2022-Feb-17 12:00, -837.573
2022-Feb-18 12:00, -832.705
2022-Feb-19 12:00, -827.163
2022-Feb-20 12:00, -820.966
2022-Feb-21 12:00, -814.131
2022-Feb-22 12:00, -806.675
2022-Feb-23 12:00, -798.616
2022-Feb-24 12:00, -789.971
2022-Feb-25 12:00, -780.756
2022-Feb-26 12:00, -770.987
2022-Feb-27 12:00, -760.679
2022-Feb-28 12:00, -749.845
2022-Mar-01 12:00, -738.499
2022-Mar-02 12:00, -726.655
2022-Mar-03 12:00, -714.327
2022-Mar-04 12:00, -701.529
2022-Mar-05 12:00, -688.277
2022-Mar-06 12:00, -674.585
2022-Mar-07 12:00, -660.473
2022-Mar-08 12:00, -645.957
2022-Mar-09 12:00, -631.056
2022-Mar-10 12:00, -615.790
2022-Mar-11 12:00, -600.179
2022-Mar-12 12:00, -584.243
2022-Mar-13 12:00, -568.004
2022-Mar-14 12:00, -551.484
2022-Mar-15 12:00, -534.703
2022-Mar-16 12:00, -517.687
2022-Mar-17 12:00, -500.456
2022-Mar-18 12:00, -483.037
2022-Mar-19 12:00, -465.452
2022-Mar-20 12:00, -447.727
2022-Mar-21 12:00, -429.884
2022-Mar-22 12:00, -411.950
2022-Mar-23 12:00, -393.945
2022-Mar-24 12:00, -375.893
2022-Mar-25 12:00, -357.816
2022-Mar-26 12:00, -339.733
2022-Mar-27 12:00, -321.663
2022-Mar-28 12:00, -303.625
2022-Mar-29 12:00, -285.635
2022-Mar-30 12:00, -267.711
2022-Mar-31 12:00, -249.867
2022-Apr-01 12:00, -232.120
2022-Apr-02 12:00, -214.486
2022-Apr-03 12:00, -196.979
2022-Apr-04 12:00, -179.615
2022-Apr-05 12:00, -162.410
2022-Apr-06 12:00, -145.382
2022-Apr-07 12:00, -128.546
2022-Apr-08 12:00, -111.919
2022-Apr-09 12:00,  -95.518
2022-Apr-10 12:00,  -79.361
2022-Apr-11 12:00,  -63.463
2022-Apr-12 12:00,  -47.844
2022-Apr-13 12:00,  -32.521
2022-Apr-14 12:00,  -17.511
2022-Apr-15 12:00,   -2.834
2022-Apr-16 12:00,  +11.492
2022-Apr-17 12:00,  +25.448
2022-Apr-18 12:00,  +39.014
2022-Apr-19 12:00,  +52.173
2022-Apr-20 12:00,  +64.907
2022-Apr-21 12:00,  +77.199
2022-Apr-22 12:00,  +89.035
2022-Apr-23 12:00, +100.399
2022-Apr-24 12:00, +111.282
2022-Apr-25 12:00, +121.670
2022-Apr-26 12:00, +131.556
2022-Apr-27 12:00, +140.932
2022-Apr-28 12:00, +149.789
2022-Apr-29 12:00, +158.124
2022-Apr-30 12:00, +165.930
2022-May-01 12:00, +173.203
2022-May-02 12:00, +179.940
2022-May-03 12:00, +186.138
2022-May-04 12:00, +191.793
2022-May-05 12:00, +196.903
2022-May-06 12:00, +201.465
2022-May-07 12:00, +205.479
2022-May-08 12:00, +208.941
2022-May-09 12:00, +211.851
2022-May-10 12:00, +214.207
2022-May-11 12:00, +216.009
2022-May-12 12:00, +217.255
2022-May-13 12:00, +217.944
2022-May-14 12:00, +218.075
2022-May-15 12:00, +217.646
2022-May-16 12:00, +216.655
2022-May-17 12:00, +215.103
2022-May-18 12:00, +212.987
2022-May-19 12:00, +210.309
2022-May-20 12:00, +207.072
2022-May-21 12:00, +203.278
2022-May-22 12:00, +198.934
2022-May-23 12:00, +194.049
2022-May-24 12:00, +188.632
2022-May-25 12:00, +182.694
2022-May-26 12:00, +176.248
2022-May-27 12:00, +169.310
2022-May-28 12:00, +161.895
2022-May-29 12:00, +154.019
2022-May-30 12:00, +145.701
2022-May-31 12:00, +136.958
2022-Jun-01 12:00, +127.811
2022-Jun-02 12:00, +118.279
2022-Jun-03 12:00, +108.381
2022-Jun-04 12:00,  +98.139
2022-Jun-05 12:00,  +87.572
2022-Jun-06 12:00,  +76.703
2022-Jun-07 12:00,  +65.552
2022-Jun-08 12:00,  +54.140
2022-Jun-09 12:00,  +42.487
2022-Jun-10 12:00,  +30.615
2022-Jun-11 12:00,  +18.543
2022-Jun-12 12:00,   +6.289
2022-Jun-13 12:00,   -6.128
2022-Jun-14 12:00,  -18.690
2022-Jun-15 12:00,  -31.381
2022-Jun-16 12:00,  -44.183
2022-Jun-17 12:00,  -57.079
2022-Jun-18 12:00,  -70.049
2022-Jun-19 12:00,  -83.073
2022-Jun-20 12:00,  -96.130
2022-Jun-21 12:00, -109.196
2022-Jun-22 12:00, -122.247
2022-Jun-23 12:00, -135.260
2022-Jun-24 12:00, -148.207
2022-Jun-25 12:00, -161.063
2022-Jun-26 12:00, -173.801
2022-Jun-27 12:00, -186.397
2022-Jun-28 12:00, -198.821
2022-Jun-29 12:00, -211.050
2022-Jun-30 12:00, -223.056
2022-Jul-01 12:00, -234.815
2022-Jul-02 12:00, -246.300
2022-Jul-03 12:00, -257.488
2022-Jul-04 12:00, -268.355
2022-Jul-05 12:00, -278.879
2022-Jul-06 12:00, -289.037
2022-Jul-07 12:00, -298.810
2022-Jul-08 12:00, -308.178
2022-Jul-09 12:00, -317.124
2022-Jul-10 12:00, -325.632
2022-Jul-11 12:00, -333.688
2022-Jul-12 12:00, -341.281
2022-Jul-13 12:00, -348.401
2022-Jul-14 12:00, -355.040
2022-Jul-15 12:00, -361.188
2022-Jul-16 12:00, -366.838
2022-Jul-17 12:00, -371.983
2022-Jul-18 12:00, -376.613
2022-Jul-19 12:00, -380.721
2022-Jul-20 12:00, -384.297
2022-Jul-21 12:00, -387.332
2022-Jul-22 12:00, -389.816
2022-Jul-23 12:00, -391.741
2022-Jul-24 12:00, -393.097
2022-Jul-25 12:00, -393.877
2022-Jul-26 12:00, -394.072
2022-Jul-27 12:00, -393.675
2022-Jul-28 12:00, -392.679
2022-Jul-29 12:00, -391.078
2022-Jul-30 12:00, -388.866
2022-Jul-31 12:00, -386.040
2022-Aug-01 12:00, -382.594
2022-Aug-02 12:00, -378.527
2022-Aug-03 12:00, -373.838
2022-Aug-04 12:00, -368.525
2022-Aug-05 12:00, -362.590
2022-Aug-06 12:00, -356.036
2022-Aug-07 12:00, -348.867
2022-Aug-08 12:00, -341.089
2022-Aug-09 12:00, -332.711
2022-Aug-10 12:00, -323.742
2022-Aug-11 12:00, -314.194
2022-Aug-12 12:00, -304.080
2022-Aug-13 12:00, -293.412
2022-Aug-14 12:00, -282.204
2022-Aug-15 12:00, -270.468
2022-Aug-16 12:00, -258.218
2022-Aug-17 12:00, -245.464
2022-Aug-18 12:00, -232.220
2022-Aug-19 12:00, -218.497
2022-Aug-20 12:00, -204.304
2022-Aug-21 12:00, -189.655
2022-Aug-22 12:00, -174.560
2022-Aug-23 12:00, -159.031
2022-Aug-24 12:00, -143.078
2022-Aug-25 12:00, -126.714
2022-Aug-26 12:00, -109.950
2022-Aug-27 12:00,  -92.797
2022-Aug-28 12:00,  -75.268
2022-Aug-29 12:00,  -57.374
2022-Aug-30 12:00,  -39.129
2022-Aug-31 12:00,  -20.544
2022-Sep-01 12:00,   -1.635
2022-Sep-02 12:00,  +17.584
2022-Sep-03 12:00,  +37.098
2022-Sep-04 12:00,  +56.891
2022-Sep-05 12:00,  +76.943
2022-Sep-06 12:00,  +97.236
2022-Sep-07 12:00, +117.750
2022-Sep-08 12:00, +138.463
2022-Sep-09 12:00, +159.352
2022-Sep-10 12:00, +180.393
2022-Sep-11 12:00, +201.564
2022-Sep-12 12:00, +222.840
2022-Sep-13 12:00, +244.199
2022-Sep-14 12:00, +265.619
2022-Sep-15 12:00, +287.077
2022-Sep-16 12:00, +308.553
2022-Sep-17 12:00, +330.025
2022-Sep-18 12:00, +351.475
2022-Sep-19 12:00, +372.881
2022-Sep-20 12:00, +394.226
2022-Sep-21 12:00, +415.488
2022-Sep-22 12:00, +436.651
2022-Sep-23 12:00, +457.695
2022-Sep-24 12:00, +478.603
2022-Sep-25 12:00, +499.356
2022-Sep-26 12:00, +519.938
2022-Sep-27 12:00, +540.332
2022-Sep-28 12:00, +560.520
2022-Sep-29 12:00, +580.486
2022-Sep-30 12:00, +600.213
2022-Oct-01 12:00, +619.683
2022-Oct-02 12:00, +638.878
2022-Oct-03 12:00, +657.778
2022-Oct-04 12:00, +676.363
2022-Oct-05 12:00, +694.613
2022-Oct-06 12:00, +712.505
2022-Oct-07 12:00, +730.017
2022-Oct-08 12:00, +747.125
2022-Oct-09 12:00, +763.806
2022-Oct-10 12:00, +780.036
2022-Oct-11 12:00, +795.793
2022-Oct-12 12:00, +811.054
2022-Oct-13 12:00, +825.798
2022-Oct-14 12:00, +840.003
2022-Oct-15 12:00, +853.651
2022-Oct-16 12:00, +866.721
2022-Oct-17 12:00, +879.196
2022-Oct-18 12:00, +891.058
2022-Oct-19 12:00, +902.289
2022-Oct-20 12:00, +912.875
2022-Oct-21 12:00, +922.799
2022-Oct-22 12:00, +932.048
2022-Oct-23 12:00, +940.608
2022-Oct-24 12:00, +948.467
2022-Oct-25 12:00, +955.615
2022-Oct-26 12:00, +962.042
2022-Oct-27 12:00, +967.738
2022-Oct-28 12:00, +972.697
2022-Oct-29 12:00, +976.909
2022-Oct-30 12:00, +980.368
2022-Oct-31 12:00, +983.064
2022-Nov-01 12:00, +984.990
2022-Nov-02 12:00, +986.135
2022-Nov-03 12:00, +986.492
2022-Nov-04 12:00, +986.049
2022-Nov-05 12:00, +984.796
2022-Nov-06 12:00, +982.725
2022-Nov-07 12:00, +979.826
2022-Nov-08 12:00, +976.091
2022-Nov-09 12:00, +971.512
2022-Nov-10 12:00, +966.083
2022-Nov-11 12:00, +959.798
2022-Nov-12 12:00, +952.655
2022-Nov-13 12:00, +944.651
2022-Nov-14 12:00, +935.784
2022-Nov-15 12:00, +926.056
2022-Nov-16 12:00, +915.468
2022-Nov-17 12:00, +904.023
2022-Nov-18 12:00, +891.727
2022-Nov-19 12:00, +878.586
2022-Nov-20 12:00, +864.608
2022-Nov-21 12:00, +849.803
2022-Nov-22 12:00, +834.184
2022-Nov-23 12:00, +817.766
2022-Nov-24 12:00, +800.566
2022-Nov-25 12:00, +782.602
2022-Nov-26 12:00, +763.895
2022-Nov-27 12:00, +744.464
2022-Nov-28 12:00, +724.332
2022-Nov-29 12:00, +703.519
2022-Nov-30 12:00, +682.046
2022-Dec-01 12:00, +659.932
2022-Dec-02 12:00, +637.197
2022-Dec-03 12:00, +613.862
2022-Dec-04 12:00, +589.948
2022-Dec-05 12:00, +565.475
2022-Dec-06 12:00, +540.464
2022-Dec-07 12:00, +514.938
2022-Dec-08 12:00, +488.921
2022-Dec-09 12:00, +462.437
2022-Dec-10 12:00, +435.509
2022-Dec-11 12:00, +408.166
2022-Dec-12 12:00, +380.433
2022-Dec-13 12:00, +352.338
2022-Dec-14 12:00, +323.912
2022-Dec-15 12:00, +295.183
2022-Dec-16 12:00, +266.182
2022-Dec-17 12:00, +236.942
2022-Dec-18 12:00, +207.495
2022-Dec-19 12:00, +177.875
2022-Dec-20 12:00, +148.118
2022-Dec-21 12:00, +118.260
2022-Dec-22 12:00,  +88.341
2022-Dec-23 12:00,  +58.399
2022-Dec-24 12:00,  +28.476
2022-Dec-25 12:00,   -1.387
2022-Dec-26 12:00,  -31.151
2022-Dec-27 12:00,  -60.776
2022-Dec-28 12:00,  -90.226
2022-Dec-29 12:00, -119.466
2022-Dec-30 12:00, -148.463
2022-Dec-31 12:00, -177.185
2023-Jan-01 12:00, -205.602

Here's a live version of the script, running on the SageMathCell server.
The start & stop times are for noon in the given time zone.
Dates must be given in YYYY-Mon-DD form, the step can accept any of the usual Horizons time step forms, see the Horizons manual for details. If you prefer, here's the Horizons manual in glorious ASCII. ;)
The time zone must be given as a plain integer or floating-point number, not in HH:MM format.
Select table to get a printed table of results, as shown above.
Select show_approx to see green dots calculated using the above eqn_of_time function plotted on top of the main Horizons data.

> **Comments:**
> **username_4**: Wow. that a fantastic answer. will look deeper later on. but note sure I understand what is T and TT? Also it is probably not the case but maybe great part of this 1 sec gap is actually due to the estimate of equation of the center? I see only few terms there  
> **username_2**: @d_e TT is [terrestrial time](https://en.wikipedia.org/wiki/Terrestrial_Time), a uniform timescale. UT1 is a mean solar time scale, so it contain the irregularities of the Earth's rotation. UTC is kept within 0.9 s of UT1 via leapseconds. We convert between them with [$\Delta T$](https://en.wikipedia.org/wiki/%CE%94T_(timekeeping))$=TT-UT1$. Hughes gives a very simple formula for $\Delta T$which only accounts for the long-term trends of the past few centuries. JPL Horizons uses a much more sophisticated conversion. But it's impossible to predict the exact future values of $\Delta T$.  
> **username_2**: @d_e $\Delta T$ is probably the main source of long-term differences between my EoT & Horizons'. The Equation of the Centre is probably ok because Earth's eccentricity is small. We could get a little more accuracy by solving Kepler's equation. Another issue is nutation, but that's horrendous. See http://www.neoprogrammics.com/nutations/  
> **username_4**: I see. thanks again for this answer.  
> **username_0**: “The variation in the exact time of perihelion passage doesn't have too much of an effect on the EoT. That's because we don't use the argument of perihelion as a point of reference.” – The perihelion has a physical effect, the eccentricity effect. What means “we don't use it as a point of reference”?  
> **username_0**: And where does the equinox come in, which causes a different effect, the obliquity effect?  
> **username_0**: I do understand what the role of the equinox is in obliquity effect. But I don't understand what is its role in the eccentricity effect (or vice versa), as you mention "equinox" and "perihelion" together, in your answer and in your comment.  
> **username_0**: How does $\Delta T$ affect the EoT? How is EoT related to the daily rotation of Earth?  
> **username_0**: It looks like there is another component in the difference between your calculations and Horizons' with a cycle of about 25 days. What could it be?  
> **username_2**: @George The equinox has no role in the eccentricity effect. It's just that we measure ecliptic longitude from the equinox point. The [equinox is precessing](https://en.wikipedia.org/wiki/Axial_precession) (with a period of ~26,000 years); the [line of apsides](https://en.wikipedia.org/wiki/Apsidal_precession) of the EMB is also precessing relative to the stars, but with a much longer period. However, my calculations use the J2000.0 equinox, i.e., the equinox at 12:00 UTC on 2000-Jan-01.  
> **username_2**: $\Delta T$ is needed to convert from UTC to TT. Ephemeris calculations need a uniform time scale, and UTC isn't completely uniform, since it uses leapseconds to keep in synch with the Sun.  
> **username_2**: Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/137111/discussion-between-pm-2ring-and-george-lee).  
> **username_5**: @PM2Ring how did you get Horizons to output EoT? I tried at https://ssd.jpl.nasa.gov/horizons/app.html, but "Table Settings" doesn't have it.  
> **username_2**: @TWiStErRob Horizons doesn't provide EoT directly, but it can give solar time for any location. See https://ssd.jpl.nasa.gov/horizons/manual.html#obsquan *34. Local Apparent Solar Time*. And set the observing center to Greenwich. The [Horizons API](https://ssd-api.jpl.nasa.gov/doc/horizons.html) is pretty easy to use. I mostly use the file-based POST interface.  
> **username_2**: @TWiStErRob Here's a minimal demo, in Python. Uncomment (remove the leading `!`) the `!ANG_FORMAT=DEG` line to get the solar time in decimal hours.  
> **username_2**: https://sagecell.sagemath.org/?z=eJxFkF1rwjAUhu%5FzK2IQbKHW%2DrELCwGrVqlg62w32G5KZqPN0KZrTje34X9fqshyl%5FNwXt7ziFMpK8AV%5F6i5AoXq6ogpJjlAqdxeT6nMfi%2DPdsEUsw%5Fys8dK0ctlJX5kodK9OHJbTwhCu1PW7BHSarfjaIGi6Sqde4lHwwjNovXaC%2De076CZHyb%2DljqT4XiMHp%2D8MAmSwI%5FpcIRaXrhMF9F27SV07i%5FRLH6%2Df1%5F8GMWJt03SJFj7tDNwBqPuihXdPu4PXMfpaBpt%5FuHDDTZjf5PGwatP%2Dxn7RroeQhNRAK%5FYDlDG9%5FggjTcGu5wGRVnDVJ4NfYmFv0QGOR05Fs65OORAB45pYVaDTOsyY8Dpgh0VN12E9RN7XEjA1yBXu4S6Kq5Aa9VW7nLtUiowtGEL6whGf8leVicGxMUE%2DBnIxcKNUqWJaOpoYBDdh1i3bPNiXmPLSt9g6Fi7WTPRH81AiZ8=&lang=sage  

---

