From 786c521cb4a7119ba220071d520b78f626c3f5dc Mon Sep 17 00:00:00 2001 From: John Kordich Date: Fri, 24 Jun 2016 11:11:55 -0700 Subject: [PATCH] Fixes for Linux --- .../Native/Structures/MI_Datetime.cs | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/Microsoft.Management.Infrastructure/Native/Structures/MI_Datetime.cs b/src/Microsoft.Management.Infrastructure/Native/Structures/MI_Datetime.cs index db5119f..7b07f97 100644 --- a/src/Microsoft.Management.Infrastructure/Native/Structures/MI_Datetime.cs +++ b/src/Microsoft.Management.Infrastructure/Native/Structures/MI_Datetime.cs @@ -72,17 +72,16 @@ internal object ConvertToNativeLayer() CultureInfo.InvariantCulture.Calendar, DateTimeKind.Utc); #else - Calendar myCalendar = CultureInfo.InvariantCulture.Calendar; - DateTime myDateTime = new DateTime(); - DateTime managedDateTime = myCalendar.ToDateTime( - (int)datetime.timestamp.year, - (int)datetime.timestamp.month, - (int)datetime.timestamp.day, - (int)datetime.timestamp.hour, - (int)datetime.timestamp.minute, - (int)datetime.timestamp.second, - (int)datetime.timestamp.microseconds / 1000); - DateTime managedUtcDateTime = myDateTime.SpecifyKind(managedDateTime, DateTimeKind.Utc); + Calendar myCalendar = CultureInfo.InvariantCulture.Calendar; + DateTime managedDateTime = myCalendar.ToDateTime( + (int)datetime.timestamp.year, + (int)datetime.timestamp.month, + (int)datetime.timestamp.day, + (int)datetime.timestamp.hour, + (int)datetime.timestamp.minute, + (int)datetime.timestamp.second, + (int)datetime.timestamp.microseconds / 1000); + DateTime managedUtcDateTime = DateTime.SpecifyKind(managedDateTime, DateTimeKind.Utc); #endif long microsecondsUnaccounted = datetime.timestamp.microseconds % 1000; @@ -93,10 +92,10 @@ internal object ConvertToNativeLayer() #if !_CORECLR DateTime managedLocalDateTime = TimeZoneInfo.ConvertTimeFromUtc(managedUtcDateTime, TimeZoneInfo.Local); #else - // - // TODO: USE THIS FOR BOTH CORECLR AND FULLOS - // - DateTime managedLocalDateTime = TimeZoneInfo::ConvertTime(*managedUtcDateTime, TimeZoneInfo::Local); + // + // TODO: USE THIS FOR BOTH CORECLR AND FULLOS + // + DateTime managedLocalDateTime = TimeZoneInfo.ConvertTime(managedUtcDateTime, TimeZoneInfo.Local); #endif return managedLocalDateTime; @@ -104,7 +103,6 @@ internal object ConvertToNativeLayer() } else { -#pragma warning (suppress: 4395) // ok that member function will be invoked on a copy of the initonly data member 'System::TimeSpan::MaxValue' if (TimeSpan.MaxValue.TotalDays < datetime.interval.days) { return TimeSpan.MaxValue;