Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

What's special about year 3000?

May
13,035
174
I'm just curious.
Code:
v:\> echo %@makeage[2999-12-31,23:59:59]
441481535990000000

v:\> echo %@makeage[3000-01-01,00:00:00]
TCC: Invalid date "%@makeage[3000-01-01,00:00:00]"
 
echo %@makeage[3000-01-01,00:00:00]
441481536000000000

TCC 24.02.46 x64 Windows 10 [Version 10.0.17763.379]
TCC Build 46 Windows 10 Build 17763
 
Code:
c:\users\jlc\utils>echo %@makeage[3000-01-01,00:00:00]
TCC: Invalid date "%@makeage[3000-01-01,00:00:00]"

c:\users\jlc\utils>ver

TCC  24.02.46 x64   Windows 7 [Version 6.1.7601]

Joe
 
echo %@makeage[3000-01-01,00:00:00]
441481536000000000

TCC 24.02.46 x64 Windows 10 [Version 10.0.17763.379]
TCC Build 46 Windows 10 Build 17763
Interesting! My first report was on Win 7/32. On Win 10/64 I get:
Code:
v:\> ver

TCC  24.02.46 x64   Windows 10 [Version 10.0.18362.1]

v:\> echo %@makeage[3000-01-01,00:00:00]
TCC: Invalid date "%@makeage[3000-01-01,00:00:00]"
 
Because, why would you do that?
At first, I wanted to see if I could reverse this (below). Then I wanted to see what the limit was because I couldn't find any mention of it in the help.
Code:
v:\> echo %@agedate[%@eval[2**63-1]]
30828-09-14,02:48:05.477
 
Code:
c:\users\jlc\utils>plugin /l ISO8601-x64.dll
ISO8601 plugin v1.6.3 loaded.

c:\users\jlc\utils>echo %@makeage[3000-01-01,00:00:00]
441481536000000000

c:\users\jlc\utils>ver

TCC  24.02.46 x64   Windows 7 [Version 6.1.7601]

This is useful for people who take advantage of Special Relativity.

Joe
 
This is useful for people who take advantage of Special Relativity.

A fast car, a far star,
How old you are,
Relativity....

(Oh, great. Now I'm gonna have "Synchronicity" stuck in my head for the rest of the weekend.)
 
If the year is >= 3000, TCC assumes you've made a typo. (Because, why would you do that?).
Because I want to ensure the program works correctly in all circumstances.
Placing arbitrary restrictions like that have bitten developers not once in the past already.
Enough to recall the 2 digits year.
 
Rex said "24.02.47 Extended maximum year in dates & ranges to 30827 ".

I don't see that in @MAKEAGE. Should I?

Code:
v:\> ver
TCC  24.02.47   Windows 7 [Version 6.1.7601]

v:\> echo %@makeage[3000-12-31]
TCC: Invalid date "%@makeage[3000-12-31]"
 
Rex said "24.02.47 Extended maximum year in dates & ranges to 30827 ".

I don't see that in @MAKEAGE. Should I?

Code:
v:\> ver
TCC  24.02.47   Windows 7 [Version 6.1.7601]

v:\> echo %@makeage[3000-12-31]
TCC: Invalid date "%@makeage[3000-12-31]"
Ditto for TOUCH.
 
Back
Top
[FOX] Ultimate Translator
Translate