The Showa Hundred Year Problem

(dampfkraft.com)

57 points | by polm23 6 days ago

9 comments

  • makeitdouble 1 day ago
    > While a number of articles cropped up explaining what the Showa Hundred Year Problem was leading up to 2025, they passed mostly unnoticed, mere curiosities compared to the major media attention showered on Y2K a quarter century ago. And, in fact, as 2025 comes to a close, I can't find any reports of actual issues stemming from the date change.

    This is probably a combination of two things:

    - computer people hate with a passion the Imperial calendar. Normal people are already annoyed when they have to do some calculation, in a decade+ spent here I never ever heard of anyone actively wanting to display or handle dates in the imperial/religious system. The only people I ever saw do it were required to.

    - people who care the most about the imperial calendar use mostly paper and static data. It will be for printed forms, official announcements etc. The dynamic part will be mostly for this year or next year, and those will be up to date with the current/next area (also the sanest way to handle that is to have a unix date internally and only convert at display/parsing)

    • cbracken 1 day ago
      While most developers may dislike the imperial calendar, all of my bank/brokerage statements display dates using it, as do tax/pension forms. It's definitely still in heavy use for some very important data.

      On a similar note, I recently requested a list of historical transactions from a brokerage and found that transaction dates continued to be annotated as Heisei all the way through Heisei 36 (2024), a full 5 years after Heisei officially ended in Heisei 31 / Reiwa 1 (2019). Late in 2024, transactions finally started being annotated Reiwa 6.

      • makeitdouble 1 day ago
        > my bank/brokerage statements display dates using it, as do tax/pension forms. It's definitely still in heavy use for some very important data.

        I have a hunch the internal system doesn't store it in imperial calendar. While those can be very old system, they went through waves of modernization and in particular handling future payment was always a PITA as you couldn't predict what year it would be 5 or 10 years ahead, or even next year really.

        Storing a Unix time and doing the conversion at display time is the sanest way to handle it.

        Funny thing is,even with that kind of system the conversion tables can still be outdated, and will cause issue like the ones you had with lenient numbering.

  • hyperrail 1 day ago
    I might be misremembering, but if I remember correctly, back in 2019 Windows' pre-installed calculator had an interesting issue with the Japanese era change in 2019 from Heisei to Reiwa, due to Emperor Akihito's abdication and the succession of his son Emperor Naruhito. I was not personally involved with this issue but I was aware of it as I was working on the Windows team at Microsoft at that time.

    The announced plan was that Akihito would abdicate on April 30 and Naruhito would take the throne on May 1, so that Jan 1-Apr 30, 2019 would be Heisei 31 (平成31年) and May 1-Dec 31 would be Reiwa 1/Reiwa Gannen (令和元年).

    The issue was with Windows Calculator's date calculation. If you ask it which day is 61 days after April 1, 2019, it correctly calculates June 1, 2019. The question, though, is what if you have your Windows settings set to show the Japanese era year - should it show "2019" in "June 1, 2019" as Heisei 31 or Reiwa 1?

    If I remember right, the answer chosen was "it depends on what your computer's current clock time is!" In other words, if you ask Calculator while your PC's clock is set to April 2019 or earlier, it "wrongly" shows June 1, 2019 as in Heisei 31, but if your clock is set to May 2019 or later, June 1, 2019 is "correctly" shown as in Reiwa 1. This would be true even if the running Calculator and Windows code was already updated with the knowledge that the new era would be called "Reiwa." (Though the date when Reiwa would begin was specified by a law passed in 2017, Reiwa's name was only announced on April 1, 2019.)

    (I forget whether this problem was solved in the calculator app itself or whether it inherited the solution from Windows' date and time formatting code.)

    The justification was that the change of era would only be finalized when Akihito actually abdicated. In modern times, Akihito's abdication was the first time that the era changed without the reigning emperor dying. Calculator acting as if it knew before May 1, 2019 that Reiwa would begin on that day would thus be in bad taste, because it would be the moral equivalent of Calculator predicting or wishing for Akihito's death on April 30 - never mind that it was already well known that Akihito planned to abdicate on that day instead.

  • Electricniko 1 day ago
    I'm having a hard time imagining someone still using the Showa calendar as I read this in the 73rd month of 2020.
    • nxobject 1 day ago
      Perhaps they'll start noticing things after the 99th month of 2020.
  • Laforet 1 day ago
    A lot of earlier digital timepieces come with arbitrary date range limits and I have always wondered what is the reason behind such limitations.

    For example, a lot of camera date backs (used to physically embed time and date on film) could not be set to any date post a certain year, most commonly 2020 but I’ve also seen 2019 and 2029 as cutoffs. Even models that has a 4 digit year format isn’t immune from this issue, and sometimes it’s possible to bypass it by setting the date to Dec 31 2020, let the it roll over naturally to Jan 1 2021 and you will then be free to fast forward the date.

    Maybe it’s similar to the YEAR 10000 bug on modern Windows OS where many internal variables could overflow beyond a certain datum so it would make sense to prevent it in the front end.

    • RobotToaster 1 day ago
      Usually those devices stored the number of days in each month in a table. They had limited memory so only stored up to a certain date.
  • yongjik 1 day ago
    > Centuries in the Gregorian calendar start from 00 with their last two digits - 1800, 1900, and 2000.

    Umm, wait, what? No, Gregorian centuries most definitely start at year xx01! The first century was from year 1 to 100, the second from 101 to 200, and so on. There was no year zero in the Gregorian calendar.

    • dhosek 1 day ago
      This is one of those things that cause confusion: There are two sets of centuries, each mostly overlapping but not quite identical.

      There’s the numbered centuries: e.g., the twentieth century, which ran from 1901–2000.

      Then there’s centuries named by the first two digits: e.g., the 1900s which ran from 1900–1999.

      I would note that decades are always indicated by the first three digits and (almost¹) never as numbered decades so when people talk about the ’20s they’re referring to 1920–1929 or 2020–2029 and not, e.g., 2021–2030.²

      1. I’m sure you can find somewhere someone talking about the first decade of the twenty-first century, although that’s likely an attempt to get around the awkwardness of not having convenient names for decades like 2000–2009 or 2010–2019.

      2. Every ten years you’ll find tedious people who will insist that the decade doesn’t end in ###9. Don’t argue with them. Just walk away.

  • ashu1461 1 day ago
    Reminds me of the year 2038 problem, which will be more scary than this.

    So if you are storing epoch time (no of milli seconds after 1970) in integer variables, your code will most probably break, which I feel is going to happen in a lot of scenarios.

  • thaumasiotes 1 day ago
    > This also means that, when an era changes, the Gregorian year will have two imperial year designations, for example 1989 is both Showa 64 and Heisei 1, depending whether the day of the year is before or after the imperial transition.

    This isn't unusual. For example, the American calendar year 2024 belongs to both the school year "2023-2024" and the school year "2024-2025".

    The general phenomenon here is "sometimes things begin when it isn't calendar New Year's Day", which is universal to all cultures.

    • chirsz 1 day ago
      In ancient China, the imperial year designations were usually changed in the second year following the coronation of a new emperor, thus preventing the occurrence of two imperial year designations in the same year. Japan seems to have chosen to change the imperial year designation in the same year because of the faster flow of information in modern times. I still think it would be more convenient to change it the second year.
      • kijin 1 day ago
        Japan has been using their unique system for over 1000 years. It's not a recent change. They never really cared for the Confucian standards of Chinese emperors. (If they did, they wouldn't have called their own monarch an emperor!)

        I say Confucian standards, because the Chinese rule of changing the imperial year designation in the second year of a new emperor seems to have been more about propriety and respect for the late emperor than it was about convenience. A number of emperors actually changed the year designation immediately upon ascending to the throne, which was seen as an attempt to discredit their predecessor.

    • juped 1 day ago
      No, the Japanese imperial calendar oddness is that it's otherwise exactly the Gregorian calendar, but the era may change midyear.
  • morninglight 1 day ago
    Japan's continued use of the imperial year system is similar to America's use of imperial units instead of the metric system.

    Don't count on either changing soon.

    • mc3301 1 day ago
      Wait until you learn about companies that use their founding year as the first year on their calendar.

      But also, it is, in fact, changing. A lot of official government dates (such as drivers licenses) are no longer going to use the imperial year system.

      • kijin 1 day ago
        A driver's license needs to be legible by foreigners when you travel abroad. The cops aren't going to bother looking up Kanji to figure out whether your license is valid, so the dates had better be printed in Gregorian.
  • golemiprague 1 day ago
    [dead]