Explain xkcd: It's 'cause you're dumb.
Title text: If our current civilization lasts another 8,000 years, it's probably fair to assume the Long Now Foundation got things right, and at some point we started listening to them and switched to five-digit years.
Many people make a big deal about dates when the digits follow an interesting pattern, such as 2000-01-01 or 2012-12-12. They might plan special events on these "unique" days. For instance, 2007-07-07 was considered a "lucky" day and had a record number of weddings.
Cueball points out that every date is equally unique, even when the digits aren't in a pattern. The Gregorian calendar is the current way to count time in years, months and days — a unique way to describe this is defined in the ISO 8601 standard. Since time moves only forward, dates will never repeat. Nevertheless, his hobby of stating this fact every day would be incredibly annoying to his listeners.
The title text refers to the Long Now Foundation, who uses five-digit years (e.g. this comic's date would be written "02014-03-10"). The Y2K problem was due to using only two digits to store the year, which would have made dates ambiguous when it rolled from 99 back to 00. Similarly, the Maya calendar had a repeating cycle of 52 years, and even their "long count" rolled over after 7885 years. As we currently use four-digit years this may cause a Y10K problem.
The Long Now Foundation designs a 10,000-year clock that should be able to run for this long — and in principle it could display every date up to 99999-12-31. Randall remarks that by coming close to the year 10,000, our civilization probably will follow this recommendation, unless our civilization is already extinct.
A previous comic on date formats was 1179: ISO 8601.
- [Cueball speaking to Megan and another person.]
- Cueball: Whoa, it's 2014-03-10! Under our system, this day will NEVER HAPPEN AGAIN!!
- My Hobby: Pointing this out every day.
add a comment! ⋅ add a topic (use sparingly)! ⋅ refresh comments!
What about Daylight Saving Time adjustments and leap seconds? Don't they bring duplicates of the same time or is there a way to account for that in the current system? --Muskar (talk) 10:06, 28 March 2014 (UTC)
- One hour is duplicated each year at the end of DST. Not much happens during that hour, because it's the middle of the night. A poorly written computer program that instructs the computer to set back the clock one hour whenever the clock reaches a specific time would get caught in a recursive loop (never advancing beyond that time). Properly, clocks are set back one hour when that time is first reached, but are allowed to advance after the duplicate hour concludes.
- Not sure if this in regards to a now missing statement in the Wiki, but the reference in the comic is to days. DST occurs as 2AM, so the day is not repeated. However, 1 - 2 is repeated when time is turned back and 2:01 to 2:59 are ignored when moving ahead. Of course, this assumes one lives in a state that recognizes DST. 15:07, 5 October 2014 (UTC)
- Exactly. That's right, Jacky720 just signed this (talk | contribs) 09:56, 14 March 2017 (UTC)
- In Brazil, when we leave DST, we adjust our clocks from 00:00 to 23:00, so there's a chance the day is repeated. 18.104.22.168 04:38, 27 February 2015 (UTC)
Leap second does not result in a duplicate. The additional second is allowed by increasing the number of seconds in a minute. Normally, the 60 seconds of 11:59 are numbered from 11:59:00 to 11:59:59, which is followed by 12:00:00. When there is a leap second, 11:59 has 61 seconds, numbered from 11:59:00 to 11:59:60 (61 total seconds) and then 11:59:60 is followed by 12:00:00.173.245.48.24 18:42, 29 March 2014 (UTC)
My first thought was that he makes fun of people that consider dates like the 12.12.12 as important. As any other date they occur only once and are thus not more special. 22.214.171.124 04:37, 10 March 2014 (UTC)
- Good point, I have added something about that. 126.96.36.199 04:49, 10 March 2014 (UTC)
Possibly related to the upcoming Pi Day. Also, next year's Pi Day will be 03-14-(20)15, which a few images going around on the Internet have made an annoyingly big deal about. 188.8.131.52 06:24, 10 March 2014 (UTC)
So - Maybe I suck at searching (I do), but I can't find any information about us being limited to 4 digits in our calendar system...?184.108.40.206 08:38, 10 March 2014 (UTC)
- Most of the computer software that handles dates would have problems with more (or less) than four digits. Why bother with variable year length when you can just take the first four characters of "2014-03-10" and it works for the next 8 thousand years? 220.127.116.11 09:42, 10 March 2014 (UTC)
- Also, most digital displays are limited to four digits for the year. 18.104.22.168 09:43, 10 March 2014 (UTC)
- And I don't think we actually start address that sooner that in September 9999. It will be Y2K over again! .... not sure where will people of 9999 get Fortran and Cobol programmers, though. Maybe we should freeze some before we run out of them. :-) -- Hkmaly (talk) 10:20, 10 March 2014 (UTC)
- Check this out.--Rael (talk) 21:38, 10 March 2014 (UTC)
- I'm with you. I suppose there may be places where leading zeros are used (somewhere in software where memory space has been set aside, I suppose) but I can't think of any common system where one has to use five digits when using a four digit number.
- When we get to December 31, 9999 (assuming he Gregorian calendar is still in use (BIG assumption)) the next day will simply be January 1, 10000 because, as you said, the Gregorian calendar isn't limited to four-digit years. And, as I say, anyone who think there is some problem with writing years as four digit numbers is simply demonstrating that they are not someone to take seriously. 22.214.171.124 16:32, 10 March 2014 (UTC)
After visiting the website for the "Long Now Foundation", I find I'm left wondering - why, oh why, would they stop at using a five digit year? why not six? eight? ten? sixteen? thirty-two? Brettpeirce (talk) 12:06, 10 March 2014 (UTC)
I think the point in the comic title is that writing years always with 5 digits is as significant as the zero to the left it will take to do so for most of the next 8000 years. FlavianusEP (talk) 12:25, 10 March 2014 (UTC)
My first thought was that the comic was about date formats and yyyy-mm-dd being better than yy-mm-dd or dd.mm.yy. 126.96.36.199 12:40, 10 March 2014 (UTC)
- It isn't, but I've made a dynamic one (based on UTC): https://voidptr.de/xkcd-1340 n.st (talk) 19:36, 12 March 2014 (UTC)
Wanna bet that this comic always shows the current date?--Henke37 (talk) 10:23, 10 March 2014 (UTC)
- Haha, that's a great observation! I wish it were so, I'll check again tomorrow. If it's not, someone email Mr. Munroe to make it so, great idea. -- Adityarajbhatt (talk) (please sign your comments with ~~~~)
- It's 00:07 (11th of March) right now in China where I am currently located and it still shows 10th of March...just for the record 188.8.131.52 16:13, 10 March 2014 (UTC)
- It's March 15th now, and it still says the 10th. It's not dynamic. 184.108.40.206 20:47, 15 March 2014 (UTC)
- It says 2014-10-01 for me. But I think it was at 11:53 (2014-09-30) when I checked it. And mine matches the atomic clock.
220.127.116.11 04:02, 1 October 2014 (UTC)
It's funny that Randall seems to have never heard of RFC 2550, which goes than the Long Now Foundation in expanding the representable date range. 18.104.22.168 15:05, 10 March 2014 (UTC)
- Technically, there will be another 2014-03-10; on October 3rd. - 22.214.171.124 16:01, 10 March 2014 (UTC)
- It would actually be 2014-10-03 "under our system" as stated in the comic. Technically. 126.96.36.199 17:14, 10 March 2014 (UTC)
- It's like me saying that there will be another 2014-03-10 on March 14th. 188.8.131.52 19:45, 10 March 2014 (UTC)
I wonder if this is also somehow related to the Interesting number paradox. 184.108.40.206 18:48, 10 March 2014 (UTC)
The problem of the date rolling back is partially mitigated by storing the year as an integer instead of as characters, such as how certain Spreadsheet programs, such as OpenOffice Calc, stores years as a 16-bit signed integer. This doesn't solve the issue, only pushing it back to be the year 32768 problem. This is even less of an issue for 64 bit Unix time, which expire on 15:30:08 UTC on Sun, 4 December 292,277,026,596. It's also important to note that the dates, such as 99, or 00 should not be seen as digits, they should be seen as characters (unless, of course, they are BCD digits, which entirely defeats the purpose of shortening the date to 2 characters length). This might seem trivial, but I think it's an important difference.220.127.116.11 02:46, 11 March 2014 (UTC)
- 3rd of October won't happen for another seven months. 18.104.22.168 (talk) (please sign your comments with ~~~~)
- As a (culturally) dd/mm/[yy]yy person (and ignoring, for brevity, the different options for delimiter), I find yyyy-dd-mm as illogical as mm/dd/yyyy... Why should anybody switch 'precision direction', mid-way? Still, as someone who went through the Y2K process and worked with colleagues across the Atlantic, I tend to use dd/Mmm/yyyy habitually in "for humans" systems (giving the abbreviated month spelling to avoid all ambiguity, as well as full year-number), or my own "yyyymmdd[-hhmm[ss[.ddd...]]]" format in (informal and internal) programming situations, with comments attached to any conversion routines (inwards and outwards). ((And, yes, there are ISO/other standards, but I find converting from/to them and internally working with my own long-practiced format works best, for me. YMMV. But be aware of how'd you deal with (or ignore) Leap Seconds!)) 22.214.171.124 14:58, 12 March 2014 (UTC)
- I once toyed with the notation 0y20140310, with the "0y" prefix (a pun on C's "0x") distinguishing it from the eight-digit integer 20140310. I later decided that 0y20140310.175959 would be a good way to extend it to specify both date and time, and it still parses as a single C token if that property is useful. (And it sorts properly, of course.) 126.96.36.199 04:15, 24 March 2014 (UTC)
I am surprised nobody has mentioned the fact that we know of no civilization of human beings that has reached 10,000 years with a continuous calendar.Seebert (talk) 14:15, 11 June 2014 (UTC)
We should be doing universal coding for the year. All dates start with a 1, followed by the number of zeroes equal to the number of digits in the number of digits in the date. Take 2015, it has 4 digits, 4 has 1 digit, so it starts with "10" then append the number of digits in the date, "4" and finally the date "2015" to get "1042015". In 8000 years this would be "10510015" in 1e10 years it would be "100101000002015". A computer drops the one, checks the number of leading zeroes, reads in that many digits, then reads in that result in digits to read in the year. With the leading 1 it can still be stored as a binary number rather than a string, and needs no starting or ending indicators, and will expand indefinately to store any date ever to exist. --188.8.131.52 21:22, 20 May 2015 (UTC)