In case anyone else is struggling with a similar problem, here is my workaround. I have written a routine which uses the AppleScript "time to GMT" to get the time difference, then I use "the internet time" to get the current time zone. The difference between these two is the daylight savings period. I convert this to seconds and when emailing time-stamped reports to another time zone, I apply the difference. I haven't finished all my tests but so far it's looking good.

Here is my function for getting the number of seconds of daylight savings time. Since this only seems to be an OS X problem, it doesn't matter that it relies on AppleScript.

function DSTseconds
  -- get current time zone & convert to decimal hours
  -- e.g. +0930 becomes 9.5
  put the internet date into tNow
  put last word of tNow into tZone
  replace "+" with empty in tZone
  put char -2 to -1 of tZone into tMins
  delete char -2 to -1 of tZone
  add tMins / 60 to tZone
  -- use AppleScript to get the current number of seconds between
  -- this computer's time & GMT, and convert to hours
  put "tell application " & quote & "Finder" & quote & "" & cr \
      & "return time to GMT" & cr & "end tell" into tScript
  do tScript as AppleScript
  put the result / 3600 into tDiff
  put (tDiff - tZone) * 3600 into tDST
  return tDST
end DSTseconds

Cheers,
Sarah


On 8 Nov 2004, at 2:07 pm, Sarah Reichelt wrote:

Hi All,

I'm back onto my pet bug to do with time zones & daylight saving. In Rev 2.5 the original bug is fixed so that convert does not add an hour with each conversion if you are in a positive time zone with daylight saving using Mac OS X.

However, I am just deploying a major app in daylight savings affected areas and having some problems because "the seconds" are not behaving the way I expected.

For example:
set time zone to Brisbane (+1000), no daylight saving, get the seconds
switch to Melbourne (+1000), with daylight saving, get the seconds
allowing for the time needed to switch time zones, these both give the same answer!


If I use convert to change them to a readable date & time they give times differing by 1 hour, which is correct.

At this point I get so confused that I can't work out what is right & what is wrong, but basically, seconds is not allowing for daylight savings but is the same value at the same actual moment, regardless of the daylight savings settings. Internally Rev handles this so that converting the seconds accommodates to daylight saving times.

As far as I am concerned, the major impact is that events occur in remote machines (both with & without daylight saving) which get logged with a time stamp in seconds format. These reports get emailed back to base where there is no daylight saving and the times from machines with daylight saving are then translated incorrectly so their reports are an hour out.

I am at a loss as to what to do. I guess if I can detect daylight savings, I could add 3600 to the time stamps of any reports. But how can I detect daylight savings? Rev must be able to do this, but I can't find a way. Is there maybe an AppleScript way?

Any words of encouragement, advice or help would be greatly appreciated.
Sarah


_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution




_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to