2016-09-28 3 views
-1

Ich speicherte verschiedene Uhrzeit in TimeSpan auf Server in UTC-Zone. Jetzt möchte ich diesen Datensatz in der IST-Zone abrufen. Auf meinem Server sind die Daten im Format HH: mm: ss und ich möchte sie im selben Format der IST-Zone wiederherstellen. Ich kann DateTime mit folgendem Code in TimeSpan konvertieren, aber ich kann nicht von TimeSpan in TimeSpan konvertieren.UTC TimeSpan zu IST TimeSpan in C# konvertieren

DateTime timeUtc = DateTime.UtcNow; 

    TimeZoneInfo istZone = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); 

    DateTime istTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, istZone); 

    return string.Format("The date and time are {0}.", istTime.TimeOfDay.ToString().Substring(0, 6)); 
+0

'TimeSpan' misst eine Zeitspanne (Dauer), *** nicht *** eine Tageszeit. Wo ist diese "TimeSpan" in dem Code, den Sie vorgestellt haben? – spender

+0

Eine Zeitspanne ist ein Delta zwischen zwei DateTime-Objekten und hat keine Zeitzone, da die Messungen eine Differenz darstellen. – jdweng

+0

Ohh. Vor allem Entschuldigung für die Verzögerung. Ich muss meine Frage bearbeiten. Ich möchte sagen, dass Benutzer zu einem bestimmten Zeitpunkt eines Tages in UTC registriert werden können. Ich möchte nur diese Zeit in IST auf der Basis von HH: mm: ss nur bekommen. Wie ist es möglich? – Dipak

Antwort

1

versuchen Sie dies.

DateTime utcdate = DateTime.ParseExact("6/15/2014 12:00:00 AM", "M/dd/yyyy 
             h:mm:ss tt",CultureInfo.InvariantCulture); 
var istdate = TimeZoneInfo.ConvertTimeFromUtc(utcdate, 
TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); 
+0

Wie verhält es sich mit den vom OP erwähnten 'TimeSpan'? – spender