Search code examples
y2k

What is causing the 2010 bugs?


There are a lot of reports of systems failing to understand the year 2010 but I've no idea why. Current systems I look after are working fine as far as I could tell but I'd like to know what the actual problem is to search better.

Could anyone shed some light on it please?

Edit: http://www.rte.ie/business/2010/0105/bug.html - Information about it affecting credit cards in Germany


Solution

  • Several protocols used in banking and telecommunications - including the SMS protocol - encode the year as BCD in a single byte.

    From 2000-2009 one could easily make the mistake of interpreting the year as a standard binary number since the encoding would be the same:

    Encoding  Binary-interpreted  BCD-interpreted
    0x01      2001                2001
    0x02      2002                2002
    ...
    0x09      2009                2009
    0x10      2016                2010
    ...
    

    That is most probably the cause of the Windows Mobile bug.