The Japanese Calendar’s Y2K Moment
blogs.msdn.microsoft.com
blogs.msdn.microsoft.com
That said, I read the people's justifications are similar to those who favor the Fahrenheit system in the US. They say the scale is close to their everyday feel (under the current system, each era is roughly equivalent to one's lifespan) than 4-digit numbers, and therefore more "human". Their emotional attachment defies rationality.
1) because of this problem, the government is considering keeping Heisei for a while after the emperor steps down https://minhan.jp/4599 (in Japanese)
2) the Japanese calendar (specifically the year) is used in some official documents and formalities, but in daily life people mostly use the Gregorian calendar. If you ask a bunch of Japanese people what Heisei year is now, I bet a significant percentage of them won't remember. I've worked as a software engineer in Japan for over 10 years and I've never had to deal with Japanese calendar years.
I've heard that there's not a legal framework for using Common Era dates in certain contexts, which...apparently matters? I've also heard that the gov't even has regulations for enforcing usage, but can't find a reference on that. One could think that it's merely an interface problem but if the database asks for Heisei the easiest thing is to outsource the CE -> Heisei transition to the person filling out the form.
The succession itself is pretty straightforward; people will see it on the news and memorize the new name immediately. Software is more difficult, though.
This is not really a new issue. Daylight savings time rules change, leap seconds are added and removed. Most software doesn't care because someone will notice and change the clock, or NTP notices that your clock is a second slow because you forgot the leap second and it moves it forward. But being a second or an hour off is a slightly different problem than not knowing what the current year is called, or how to add/subtract years.
Software that wants to be resilient to any of these changes simply uses a timebase that doesn't have leap seconds, daylight savings time, or the year changing... but users want to see "Heisei 30" and not something that is 37 seconds ahead of what their wall clock says the time is. Formatting the time is still an issue no matter what timebase you use.
I understood the question but it is pointless: how can you expect software to be magically patched if no update mecanism is in place? Some will, others won’t.
As the article states, for most of computing‘s history (and certainly all of consumer‘s computing history) there hasn‘t been an era change, yet.
But essentially, software (and printed calendars!) will start showing dates with years "overflowing" the era.
Committee starts the plan of determining new era name well in advance when this is about to happen, so this is determined a several months in advance.
With this transition that taking place next year, I hear many of engineers are very annoyed for the fact they are withholding announcement of this just a month before it is changing, for the publicly stated reasoning of to "not ruin the surprise."
They will see Y2K like problem in 2025 (Showa-100) if these systems are still active somewhere (as they may not handle >99) and to less extent, same thing may happen in 2088 (Heisei-100)
I'm thinking their tendency of ground-up development of those internal systems in Japan would make this a lot more complicated.
ISO-8601 only really applies to the Gregorian calendar.
[1] This could be different if you're, say, browsing an archive. Still, if I'm looking at a thread from 2005, that context is in my head, and I don't need to be constantly reminded of that by seeing 2005-XX-YY.
* "The 10th instant" / "10th inst." = tenth day of current month indicated in date of document
* "The 10th ultimo" / "10th ult." = tenth day of month preceding the one indicated in date of document
* "The 10th proximo" / "10th prox." = tenth day of month following the one indicated in date of document
(month: July; day-of-month: 2; year: 2018) -- can be serialized (written) a variety of ways, ISO-8601 Y-M-D being one of them.
However (month: July; day-of-month: 2; year: Heisei 30) is a different story, not just a question of serialization.
(month: Tamus; day-of-month: 19; year: 5778) -- yet more different.
(month: Shawwal; day-of-month: 18; year:1439)
"Western style dates" above means "the Gregorian calendar". Yes, how you write or serialize it for machine-parsing can be another issue. But dates on _another calendar altogether_ is a bigger one. Although the Japanese calendar that just has a different name for the year, but the months and dates and beginning and ends of the year are synchornized with gregorian -- not as big as the "Hebrew" or "Islamic" calendars which have entirely different months and years with boundaries unrelated to the gregorian calendars'.
> The last value "2019 05 01" contains the temporary information "??_?_??????_?"
For reference, here's what I see: https://imgur.com/a/VdcaQ0r
The fact that there are unicode "Fullwidth Question Mark"s as well as what appear to be normal question marks make me thing there still is an encoding issue.
It is indeed as it shows in the article. For reference: https://imgur.com/a/2tiYJ1w
I think you mean they should be using some representation of a Gregorian calendar date, be it text or binary.
In any case, it sounds like they should probably have something analogous to the timezone database for converting between various calendars where the mapping can't be determined in advance.
That brings up a good question: in the Islamic calendar, the new year doesn't start until reception of a reliable lunar observation by a Muslim. How do they get around this in strict Muslim countries? Do they have a second concept for "year" that's identical to the year except in the observational requirement and therefore can be treated the same, but because of name doesn't break the religious law? I presume they don't go through the trouble of creating a low-latency network to distribute the start-of-year signal and make timestamp-to-string routines block near the year rollover until they've seen the signal.
But, latency is the issue. The year doesn't officially change until a Muslim makes the necessary lunar observation on the first evening of the new year. You can't pre-calculate a human observation, so to be in strict compliance, you'd need an efficient way to rapidly distribute the observation.
I'm sure that in practice, pre-calculation is almost always used. My question is how this is rationalized in more strict conservative Islamic countries, (or less likely, how they avoid using pre-calculated start of the new year).