Hi Dave, Fixed it in a more convential way ... : Private Shared Function SystemTimeToDateTime(ByRef st As SYSTEMTIME) As DateTime Dim dt As DateTime Dim dtFormat As String Dim en As New CultureInfo("en-GB") dtFormat = "dd/MM/yyyy HH:mm" With st dt = DateTime.ParseExact( _ Format$(.wDay, "00") & "/" & _ Format$(.wMonth, "00") & "/" & _ Format$(.wYear - 1600) & " " & _ Format$(.wHour, "00") & ":" & _ Format$(.wMinute, "00"), dtFormat, en.DateTimeFormat) ' & ":" & _ ' Format$(.wSecond, "00"), dtFormat, en.DateTimeFormat) End With Return dt End Function Gues it is a bit less efficient, not sure how much though. Your remark about the code and the snot was that just about this problem or also about the rest of the code. If so could you give me some pointers, guess it is never too late to learn. :)) Cheers David Think, try, think, think, try, think, think, think, try, ASK, think, try, advance on step and start over...