The seconds problem - redefined
SimPLsol at aol.com
SimPLsol at aol.com
Wed Apr 14 23:39:40 EDT 2004
Since I raised this topic I've gotten a LOT of good advice.
Unfortunately most of it does not address the problem. Apparently I have not defined it
well, please bear with me and I'll try again:
Start with a list of events: employee birthdays, anniversaries, start
dates, order due out dates, raw material due in dates, conferences, training
sessions, etc. The list is dynamic; new employees are hired, new materials are
purchased, materials scheduled previously arrive, etc.
Which events in that list will be happening, by day, for the next x
days?
For simplicity assume there are only three items in the event list; the
first event occurs on April 3rd 2004, the second on April 4th, and the third
on April 5th.
Revolution converts each date in the event list to seconds as follows:
April 3, 2004 - converts to 1080986400 seconds (OK)
April 4, 2004 - converts to 1081069200 seconds (will be a problem)
April 5, 2004 - converts to 1081155600 seconds (also a problem,
because of the 4th)
Next create a day by day calendar showing events from the event list
above for each calendar day. Start on April 2nd (1080900000 seconds) and review
four days, adding 86400 to get the comparison seconds for the next day to be
reviewed:
April 2, 2004 = 1080900000 seconds,
empty (correct, no events in the event list above match this
date)
April 3, 2004 = 1080986400 seconds (1080900000 + 86400)
one event (correct, matches the April 3 seconds from the event
list above)
April 4, 2004 = 1081072800 seconds (1080986400 + 86400)
no match, (wrong, April 4 in the list above is short 3600
seconds, because April 3 only had 23 hours according to Revolution)
April 5, 2004 = 1081159200 seconds (1081072800 + 86400)
no match (wrong, April 5 in the list above is also short 3600
seconds,
indeed all dates until the 25 hour day in the autumn will not
match)
If our review had started on the 4th (after the 23 hour day), all dates
would have matched correctly (until the 25 hour day in autumn).
Hope that helps. Now back to the original question. Is there a way to
convert dates to seconds where every day has 86400 seconds?
Note: For this purpose, I don't care whether the seconds start at GMT or
GMT - 10. I'm not concerned about time zones, daylight savings time, etc. It
doesn't matter to me if the eon starts in 1900, 1904, or 1970. I just want a
way to convert dates to consistent seconds - without having to introduce extra
calculations for short and long day variations.
1. Does such a conversion exist in Revolution now?
2. If not, shouldn't it?
Paul Looney
PS Note that the seconds in the samples above will not correspond to
conversions you get - unless you are computing in the same time zone that I am - I
believe this is another problem. One that also calls for consistent seconds based
on GMT.
PPS More fuel on the fire: finding days between dates will not produce whole
numbers if you convert the dates to seconds and divide by 86400 - when the
date range spans a 23 or 25 hour day.
More information about the use-livecode
mailing list