Year 2000 and Year 2038 Compliance

Are there any Year 2000 problems in GraphApp?

There should not be any Year 2000 problems with GraphApp, except that GraphApp relies on the operating system and other software, so there may be Year 2000 problems in those other pieces of software.

What about Year 2038 problems?

The Year 2038 problem occurs because Unix-based operating systems use 32-bit signed long integers to measure time in seconds since 1970.

The problem arises since 32-bit signed long integers will overflow and become negative once the number of seconds exceeds 2 to the power of 31. It so happens that the number of seconds from 1970 to 2038 is about 2 to the power of 31, so it is possible that during the year 2038, Unix systems will suddenly register the date as being prior to 1970.

GraphApp has no code which relies on the date being recorded as seconds since 1970, and therefore should not experience any such problems.

Are there any other related time problems?

The one place where GraphApp uses time, is in the timer functions and the delay function. Both these systems rely on time being measured as milliseconds using a 32-bit signed long integer.

These millisecond measurements will overflow in about 24 days, since there are 2 to the power of 31 milliseconds in that time. Hence, a GraphApp program which relies on these timing measurements should not be left running for longer than that time.