<p>Sure it can be (and is) true. Everyone is going through the Earth's "zone of lightness" at different times. Presumably whichever of those times is "nearest to" the actual moment of solstice will be the "shortest period between sunrise and sunset" for any given person (longitude) (ignoring natural and time-zone variations as noted in other comments). As you note, for your friends and everyone west of them up to the Date Line, that will likely be 12/21. And for you and everyone east of you around to the Date Line, that will likely be 12/22.</p>

<p>Maybe it helps (or maybe not) when you realize that people very close to the Date Line itself but on opposite sides experience 12/21 and 12/22, resp., as "the same day".</p>

CC BY-SA 3.0
2015-12-21T20:39:20.797Z
So,  would there be a specific longitude on which the 21st and 22nd have equal periods of sunlight,  such that everywhere Eastward, the 22nd is shortest, and Westward has the 21st as the shortest?   If so, how would one go about determining that longitude?
David Dubois
CC BY-SA 3.0
2015-12-21T20:42:15.727Z
Presumably (again ignoring natural variations), those for whom the moment of solstice is "at midnight" would experience "equal period of sunlight" days on either side of that midnight. (I should qualify that we're talking "sun time" here, not time-zone time.)
Jeff Y
CC BY-SA 3.0
2015-12-21T20:53:41.150Z
I.e. given that the sun "travels" at 15 degrees of longitude per hour, and that the solstice occurs at 04:49 UTC, the "equal day" longitude can be calculated as 72 degrees 15 minutes West.
Jeff Y
CC BY-SA 3.0
2015-12-21T20:23:13.100Z
2015-12-21T20:35:47.470Z
2015-12-21T20:35:47.470Z
Jeff Y
<p>Here's a simple python3 script that calculates when the shortest day of the year occurs at various longitudes. If you don't already have PyEphem, it's a cinch to install it: <code>pip3 install PyEphem</code> (or just <code>pip install PyEphem</code> if you've moved beyond python2).</p>

<pre><code>import ephem

sun = ephem.Sun()
obs = ephem.Observer()
obs.lat = '49'

start_year = 2015
end_year   = 2017
for iyear in range(start_year,end_year+1) :
    solstice = ephem.next_solstice(42357+(iyear-2015)*365.25)
    print("December solstice in", iyear, "is at", solstice, "UTC")

    print("Shortest day of the year, by longitude:")
    print("Date  Longitude")
    for lon in range(-180, 180+10, 10) :
        tzoffset = lon/15/24;
        obs.lon = str(lon)

        # Start with a date that makes the next transit of the Sun two or three
        # days prior to the solstice.
        obs.date = solstice-3
        sun.compute (obs)

        data = []
        for day in range(6) :
            obs.date = obs.next_transit(sun)
            sun.compute (obs)
            day_length = obs.next_setting(sun) - obs.previous_rising(sun)
            date = ephem.Date(obs.date+tzoffset)
            data.append ((day, date, day_length))

        shortest = min(data, key=lambda entry: entry[2])
        if (shortest[0] == 0) or (shortest[0] == 5) :
            raise RuntimeError("Can't find shortest day")
        print("12/"+str(shortest[1].datetime().day), lon)
    print()
</code></pre>

<p>Note that if you change the start and end years so that you can see up to 2196, you'll see that the shortest day of the year in that year for much of the northern hemisphere will occur on the 20th of December.</p>

CC BY-SA 3.0
2016-01-04T05:12:19.033Z
@barrycarter - For much of the northern hemisphere. Latitude doesn't make much of a difference so long as the latitude is north of the equator and south of the Arctic Circle.
David Hammen
CC BY-SA 3.0
2016-01-04T05:38:06.537Z
@barrycarter - That was a typo. It should have been 2096, not 2196.
David Hammen
CC BY-SA 3.0
2015-12-28T18:37:32.050Z
2016-01-04T05:10:58.457Z
2016-01-04T05:10:58.457Z
David Hammen
<p>The Winter Solstice in the Northern hemisphere in 2015 is December 22 at 04:49 UTC.  Where I'm located in Nova Scotia, Canada, that's December 22, 00:49 AST.  And so I would say the shortest day of the year is tomorrow, the 22nd.   But for my friends in Ontario, that's December 21, 23:49 EST.  And so, for them, the shortest day is today, the 21st.   </p>

<p>Does this make sense?</p>

CC BY-SA 3.0
2015-12-21T17:29:52.263Z
Isn't that just a one hour time difference, between ADT and EDT? In other words the same time? (Somebody check my counting.)
Andy
CC BY-SA 3.0
2015-12-28T12:33:13.170Z
barrycarter, yes you are correct. I've edited the question.
David Dubois
CC BY-SA 3.0
2015-12-28T14:42:27.027Z
@barrycarter - All you are seeing on that site is rounding effects. They're reporting time rounded to the minute. Since the length of a day varies by only a few seconds from the day before the solstice to the day of the solstice to the day after, relying on a site that rounds to the minute doesn't make much sense.
David Hammen
<earth>
22nd is shortest day in some places, but the 21st is shortest in other places. Can this be true?
David Dubois
# 22nd is shortest day in some places, but the 21st is shortest in other places. Can this be true?

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

The Winter Solstice in the Northern hemisphere in 2015 is December 22 at 04:49 UTC. Where I'm located in Nova Scotia, Canada, that's December 22, 00:49 AST. And so I would say the shortest day of the year is tomorrow, the 22nd. But for my friends in Ontario, that's December 21, 23:49 EST. And so, for them, the shortest day is today, the 21st.

Does this make sense?

**Tags:** earth
> **Comments:**
> **username_1**: Isn't that just a one hour time difference, between ADT and EDT? In other words the same time? (Somebody check my counting.)  
> **username_0**: barrycarter, yes you are correct. I've edited the question.  
> **username_2**: @barrycarter - All you are seeing on that site is rounding effects. They're reporting time rounded to the minute. Since the length of a day varies by only a few seconds from the day before the solstice to the day of the solstice to the day after, relying on a site that rounds to the minute doesn't make much sense.  

---

## 2 answers

### Answer by username_3 on 2015-12-21. Score: 5

Sure it can be (and is) true. Everyone is going through the Earth's "zone of lightness" at different times. Presumably whichever of those times is "nearest to" the actual moment of solstice will be the "shortest period between sunrise and sunset" for any given person (longitude) (ignoring natural and time-zone variations as noted in other comments). As you note, for your friends and everyone west of them up to the Date Line, that will likely be 12/21. And for you and everyone east of you around to the Date Line, that will likely be 12/22.

Maybe it helps (or maybe not) when you realize that people very close to the Date Line itself but on opposite sides experience 12/21 and 12/22, resp., as "the same day".

> **Comments:**
> **username_0**: So,  would there be a specific longitude on which the 21st and 22nd have equal periods of sunlight,  such that everywhere Eastward, the 22nd is shortest, and Westward has the 21st as the shortest?   If so, how would one go about determining that longitude?  
> **username_3**: Presumably (again ignoring natural variations), those for whom the moment of solstice is "at midnight" would experience "equal period of sunlight" days on either side of that midnight. (I should qualify that we're talking "sun time" here, not time-zone time.)  
> **username_3**: I.e. given that the sun "travels" at 15 degrees of longitude per hour, and that the solstice occurs at 04:49 UTC, the "equal day" longitude can be calculated as 72 degrees 15 minutes West.  

---

### Answer by username_2 on 2015-12-28. Score: 0

Here's a simple python3 script that calculates when the shortest day of the year occurs at various longitudes. If you don't already have PyEphem, it's a cinch to install it: pip3 install PyEphem (or just pip install PyEphem if you've moved beyond python2).
import ephem

sun = ephem.Sun()
obs = ephem.Observer()
obs.lat = '49'

start_year = 2015
end_year   = 2017
for iyear in range(start_year,end_year+1) :
    solstice = ephem.next_solstice(42357+(iyear-2015)*365.25)
    print("December solstice in", iyear, "is at", solstice, "UTC")

    print("Shortest day of the year, by longitude:")
    print("Date  Longitude")
    for lon in range(-180, 180+10, 10) :
        tzoffset = lon/15/24;
        obs.lon = str(lon)

        # Start with a date that makes the next transit of the Sun two or three
        # days prior to the solstice.
        obs.date = solstice-3
        sun.compute (obs)

        data = []
        for day in range(6) :
            obs.date = obs.next_transit(sun)
            sun.compute (obs)
            day_length = obs.next_setting(sun) - obs.previous_rising(sun)
            date = ephem.Date(obs.date+tzoffset)
            data.append ((day, date, day_length))

        shortest = min(data, key=lambda entry: entry[2])
        if (shortest[0] == 0) or (shortest[0] == 5) :
            raise RuntimeError("Can't find shortest day")
        print("12/"+str(shortest[1].datetime().day), lon)
    print()

Note that if you change the start and end years so that you can see up to 2196, you'll see that the shortest day of the year in that year for much of the northern hemisphere will occur on the 20th of December.

> **Comments:**
> **username_2**: @barrycarter - For much of the northern hemisphere. Latitude doesn't make much of a difference so long as the latitude is north of the equator and south of the Arctic Circle.  
> **username_2**: @barrycarter - That was a typo. It should have been 2096, not 2196.  

---

