on 26/8/2001 1:00 PM, Philip S Tellis at philip.tellis@iname.com wrote:
Sometime Today, Mayuresh A Kathe assembled some asciibets to say:
Just incase people don't know, Philip has a neat date system designed, very much like the Stardate system aboard the Enterprise
I do? I remember us talking about the concept, but don't think I did anything about it. Refresh my memory.
It started with me asking Philip if there someway to have a date format similar to the one aboard the USS Enterprise... Wanted it to store my voice diary files, at first he had suggested that I simply use the unix date type, but, I needed something with a lot more sex appeal, so, people, here goes the date format from Philip.
<><><><><> Sometime on Dec 24, Mayuresh Kathe assembled some asciibets to say:
Could you suggest a date format, something like the "Stardate"?
Well, basically, you would want your date in the format of: year:month:date:hour:minute
For brevity, you could really omit the entire year, just put in an index starting from a reference point (say Jan 1 2000 00:00 corresponds to date zero)
Dump the month, since it's redundant. Just use the day within the year. Eg: 45th of 2001 == St. Valentine's Day.
You may need a lookup table to figure this out, but you'll soon be able to do it by heart.
Better may be to use day of week/week of year (because dow == 1..7 and woy == 1..52)
Either way, you should not have more than 3 digits to define any day within the year.
Then, your date becomes the number identified by: yearindex*1000+dayindex
where yearindex is a number (1 based) starting from 2000 (since your diary does not contain entries before that).
dayindex is either 1..365/366 or woy*10+dow
Eg date: 2013 == Tue 2 Jan 2001 (using dow/woy) 2154 == Wed 11 Apr 2001
2002 == Tue 2 Jan 2001 (using doy) 2101 == Wed 11 Apr 2001
The first way is better, because the least significant digit tells you the day of week. The 2nd and 3rd tell you the week. Multiply by 7 to get the approximate date. The most significant tells you the year.
Your time would come after the decimal point.
You encode your hours:
4==08 3==04 2==02 1==01 0==00
anything am is +ve, anything pm is -ve (0-x) so 11am == 7, 11pm == -3 (15-4==11)
Your minutes can be as is (0-59), or approximate to 50 minutes per hour (each minute is actually 1.2 minutes) and scale up to 100 minutes per hour.
Final date would look something like:
2123.-412
Hope you like it.
~Mayuresh