# Y2019 software bug in Toyota clock/calendar

**URL:** <https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177>\
**Category:** Factual Questions\
**Created:** [February 25, 2019, 3:04pm UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177 "2019-02-25T15:04:02Z")\
**Posts on this page:** 13\
**Page:** 2

<div class="post-metadata">

**Author:** ![Unpronounceable](https://avatars.discourse-cdn.com/v4/letter/u/9de0a6/32.png) [@Unpronounceable](https://boards.straightdope.com/u/Unpronounceable)\
**Post date:** [February 27, 2019, 5:03pm UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/21 "2019-02-27T17:03:56Z")

</div>

Y2K wasn’t because of “I don’t give a shit” - it was because “nobody’s going to be using this program in 20+ years\*” and “computer memory/storage is incredibly expensive\*\*, so I’ll only use 2 digits instead of 4.”

\*Nobody thought banks were going to be using those old COBOL programs for as long as they did. But they just kept kludge-patching the old spaghetti code, rather than rewriting.

\*\*It used to be, at least - I can get a terabyte of hard drive space now for less than I spent on my first 20 MB hard drive…and that’s _without_ adjusting for inflation.

---

<div class="post-metadata">

**Author:** ![Really\_Not\_All\_That\_Bright](https://avatars.discourse-cdn.com/v4/letter/r/e8c25b/32.png) [@Really\_Not\_All\_That\_Bright](https://boards.straightdope.com/u/Really_Not_All_That_Bright)\
**Post date:** [February 27, 2019, 5:11pm UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/22 "2019-02-27T17:11:35Z")

</div>

> [@edwardcoast](#):
>
> But it is important to the owner, because this displays to anyone using the car. So if it shows Month, Day and the wrong day of the week, everyone notices. It makes the company look bad.

We’re straying into GQ territory here, but I can assure you Toyota doesn’t look bad because it has enough 20-year-old cars on the road for people to notice their calendars aren’t perpetual. The average life expectancy of a new car is eight years or 150,000 miles.

---

<div class="post-metadata">

**Author:** ![edwardcoast](https://avatars.discourse-cdn.com/v4/letter/e/cab0a1/32.png) [@edwardcoast](https://boards.straightdope.com/u/edwardcoast)\
**Post date:** [February 27, 2019, 5:20pm UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/23 "2019-02-27T17:20:48Z")

</div>

> [@Unpronounceable](#):
>
> Y2K wasn’t because of “I don’t give a shit” - it was because “nobody’s going to be using this program in 20+ years\*” and “computer memory/storage is incredibly expensive\*\*, so I’ll only use 2 digits instead of 4.”
> 
> \*Nobody thought banks were going to be using those old COBOL programs for as long as they did. **But they just kept kludge-patching the old spaghetti code, rather than rewriting.**
> 
> \*\*It used to be, at least - I can get a terabyte of hard drive space now for less than I spent on my first 20 MB hard drive…and that’s _without_ adjusting for inflation.

Which means they “didn’t give a shit”. Yes, there can be real limits, and there can be work-arounds to those limits. I’ve been doing this long enough to know when there were practical limits on the number of records a system could handle in a database, but I found a work-around to be able to extend this capability before I was thinking about the future, cause I gave a shit.

I knew a software developer in the late 70s who wrote an in-house file archive routine. I was looking at his assembly language code, and he had a comment in there, “Will we still be using this in the year 2000? Just in case…” and he made it Y2K complaint before anyone even talked about it or it even had a name for it. Why did he do this? “Class? Because he gave a shit!”. A person with vision does things right if they are able to. Someone who developed this in 97/98 knowing about Y2K but limiting it to 2018 comes across as a poor developer. If there were other technical issues beyond their control at the time, I think it would be interesting to know them. Because history has a way of repeating itself.

---

<div class="post-metadata">

**Author:** ![CookingWithGas](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/cookingwithgas/32/485_2.png) [@CookingWithGas](https://boards.straightdope.com/u/CookingWithGas)\
**Post date:** [February 27, 2019, 6:43pm UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/24 "2019-02-27T18:43:19Z")

</div>

> [@ftg](#):
>
> Wait several more years, then report back. I suspect the car in the OP is older so you haven’t had a chance to hit the problem yet. (Or you could roll the date forward to key dates like Dec. 31 or Feb 28 and wait a few days to see what happens.)

Please re-read my post–I have three Toyotas and none of them even have anything that displays a date. Only time.

---

<div class="post-metadata">

**Author:** ![edwardcoast](https://avatars.discourse-cdn.com/v4/letter/e/cab0a1/32.png) [@edwardcoast](https://boards.straightdope.com/u/edwardcoast)\
**Post date:** [February 27, 2019, 8:22pm UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/25 "2019-02-27T20:22:16Z")

</div>

> [@CookingWithGas](#):
>
> Please re-read my post–I have three Toyotas and none of them even have anything that displays a date. Only time.

Here is a video of a 2000 Avalon XLS which shows time, compass direction, day of the week, month, day, outside temp and trip time. Look at around 5:42 in this Youtube video and shows other settings in this display:

[![](https://img.youtube.com/vi/GhYTtVY6Las/hqdefault.jpg "Car Tour - 2000 Toyota Avalon XLS") ](https://www.youtube.com/watch?v=GhYTtVY6Las)

---

<div class="post-metadata">

**Author:** ![Hari\_Seldon](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hari_seldon/32/5173_2.png) [@Hari\_Seldon](https://boards.straightdope.com/u/Hari_Seldon)\
**Post date:** [February 28, 2019, 12:25am UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/26 "2019-02-28T00:25:08Z")

</div>

I wrote a calendar program that I still use that is correct, but only between 1901 and 2099. I don’t think I will still be using it in 81 years.

---

<div class="post-metadata">

**Author:** ![Chronos](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/chronos/32/134_2.png) [@Chronos](https://boards.straightdope.com/u/Chronos)\
**Post date:** [February 28, 2019, 12:53am UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/27 "2019-02-28T00:53:53Z")

</div>

Well, yes, but there’s a reason why that’s the range of applicability of your program. 1999 to 2018 just seems arbitrary.

---

<div class="post-metadata">

**Author:** ![davidm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/davidm/32/225_2.png) [@davidm](https://boards.straightdope.com/u/davidm)\
**Post date:** [February 28, 2019, 1:01am UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/28 "2019-02-28T01:01:18Z")

</div>

> [@chappachula](#):
>
> Here’s an old but kinda relevant thread [about a 2003 model Hyundai’s clock and calendar which couldn’t understand the concept of a leap year](https://boards.straightdope.com/sdmb/showthread.php?t=643968&highlight=useless)
> 
> Long, humorous,and has some detailed technical info.

One of my favorite threads!

---

<div class="post-metadata">

**Author:** ![edwardcoast](https://avatars.discourse-cdn.com/v4/letter/e/cab0a1/32.png) [@edwardcoast](https://boards.straightdope.com/u/edwardcoast)\
**Post date:** [February 28, 2019, 3:09am UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/29 "2019-02-28T03:09:04Z")

</div>

> [@Hari\_Seldon](#):
>
> I wrote a calendar program that I still use that is correct, but only between 1901 and 2099. I don’t think I will still be using it in 81 years.

That’s your legacy? A piece of code to leave for generations to come which will stop working in 81 years? You need to re-double your efforts. Go back to that code and make it work at least out to the year 10,000. It will be one for the history books!  
😃

---

<div class="post-metadata">

**Author:** ![edwardcoast](https://avatars.discourse-cdn.com/v4/letter/e/cab0a1/32.png) [@edwardcoast](https://boards.straightdope.com/u/edwardcoast)\
**Post date:** [February 28, 2019, 3:17am UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/30 "2019-02-28T03:17:12Z")

</div>

> [@Chronos](#):
>
> Well, yes, but there’s a reason why that’s the range of applicability of your program. 1999 to 2018 just seems arbitrary.

It does, which is why this was a mystery to me. Could it be, someone wrote the calendar function in there correctly and then other features like in that YouTube video link I provided were added so they needed more memory to run it all? So they limited the calendar program?

---

<div class="post-metadata">

**Author:** ![DPRK](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DPRK](https://boards.straightdope.com/u/DPRK)\
**Post date:** [February 28, 2019, 3:43am UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/31 "2019-02-28T03:43:05Z")

</div>

> [@edwardcoast](#):
>
> It does, which is why this was a mystery to me. Could it be, someone wrote the calendar function in there correctly and then other features like in that YouTube video link I provided were added so they needed more memory to run it all? So they limited the calendar program?

I don’t buy that, since calculating the day of the week is trivial.

Example (out of many):

```php

int dayofweek(int y, int m, int d)	/* 0 = Sunday */
{
	static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
	y -= m < 3;
	return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
}

```

---

<div class="post-metadata">

**Author:** ![chappachula](https://avatars.discourse-cdn.com/v4/letter/c/d2c977/32.png) [@chappachula](https://boards.straightdope.com/u/chappachula)\
**Post date:** [February 28, 2019, 5:04am UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/32 "2019-02-28T05:04:56Z")

</div>

> [@Hari\_Seldon](#):
>
> I wrote a calendar program that I still use that is correct, but only between 1901 and 2099. I don’t think I will still be using it in 81 years.

_YOU_ may not be using it in 81 years. But somebody else might.

Don’t you love your grandchildren? 🙂

---

<div class="post-metadata">

**Author:** ![edwardcoast](https://avatars.discourse-cdn.com/v4/letter/e/cab0a1/32.png) [@edwardcoast](https://boards.straightdope.com/u/edwardcoast)\
**Post date:** [March 1, 2019, 4:09pm UTC](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177/33 "2019-03-01T16:09:05Z")

</div>

> [@chappachula](#):
>
> _YOU_ may not be using it in 81 years. But somebody else might.
> 
> Don’t you love your grandchildren? 🙂

I’ve never see a Best Practice, which states, “If you personally have no use for this software in the future, then sling whatever crap coding scheme you wish, cause it will be someone else’s problem”.

[Previous page](https://boards.straightdope.com/t/y2019-software-bug-in-toyota-clock-calendar/830177.md?page=1)
