thanks, so you concur it is bug-ish. (daylight savings usually starts in
October)
On 8/11/2012 10:26 AM, Mark Hurd wrote:
In this case you've found an hour where WA didn't exist according to
Microsoft's TimeZone data:
In DotLisp, with wadate as your date and wstTimezone as you've
retrieved it:
> (wstTimezone.GetUtcOffset (.AddMinutes wadate 60))
09:00:00
> (wstTimezone.GetUtcOffset (.AddMinutes wadate -1))
09:00:00
> (TimeZoneInfo:ConvertTimeToUtc (.AddMinutes wadate -1)wstTimezone)
31/12/2008 2:59:00 PM
> (TimeZoneInfo:ConvertTimeToUtc (.AddMinutes wadate 60)wstTimezone)
31/12/2008 4:00:00 PM
>
All the local times in between are invalid.
Drop a note at Connect.
--
Regards,
Mark Hurd, B.Sc.(Ma.)(Hons.)
On 8 November 2012 10:44, Wallace Turner <wallacetur...@gmail.com
<mailto:wallacetur...@gmail.com>> wrote:
This question is similar to [this][1] stackoverflow question
insofar as the Exception thrown is clear and explicit:
I'm converting the 1st Jan 2009 (perth time) to UTC and getting
"/System.ArgumentException: The supplied DateTime represents an
invalid time/"
|[TestMethod]
public void TestMethod1()
{
var date= DateTime.Parse("1-Jan-2009 00:00");
var wstTimezone= TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time");
Trace.WriteLine(wstTimezone.IsInvalidTime(date));//is invalid
Trace.WriteLine(TimeZoneInfo.ConvertTime(date, wstTimezone,
TimeZoneInfo.FindSystemTimeZoneById("UTC")));//throw Exception
}
|
1) I'm more curious than concerned - *Can anyone out here in the
west recall why this time might be invalid?* One hour either side
of this works ok; I can't recall daylight savings moving/changing
during this period.
2) In general, how are people handling cases like this? For
example, if you have a user who wants to select all the foos from
1st Jan 2009 onwards then you would naturally get the start time
in the users timezone (1-Jan-2009 00:00) and convert to UTC - this
is especially problematic if you only allow the user to select the
start and end date (no times) which means you'd have to ask the
user to select a different date completely because 'midnight didnt
exist in your timezone on the selected date'
Hope I'm making sense
Wal
[1]:
http://stackoverflow.com/questions/2416439/exception-calling-when-timezoneinfo-converttimetoutc-for-certain-datetime-values