Ich versuche, eine kleine Methode zu erstellen, die die Zeit von einer Zeitzone in eine andere konvertiert. Ich dachte, es wäre einfach genug, aber wenn ich es bereitstellen, bekomme ich diesen Fehler The UTC Offset of the local dateTime parameter does not match the offset argument.
Meine Vermutung ist, dass es weil der Server nicht in der gleichen Zeitzone wie der Benutzer ist, der nicht hilfreich ist, da dies aus der ganzen Welt verwendet werden würde.DateTimeOffset Fehler: UTC-Offset von lokalen dateTime stimmt nicht mit dem Offset-Argument überein
public object ConvertDate(DateTime inputTime, string fromOffset, string toZone)
{
var fromTimeOffset = new TimeSpan(0, - int.Parse(fromOffset), 0);
var to = TimeZoneInfo.FindSystemTimeZoneById(toZone);
var offset = new DateTimeOffset(inputTime, fromTimeOffset);
var destination = TimeZoneInfo.ConvertTime(offset, to);
return destination.DateTime;
}
Wo fromOffset
eine Zahl ist, umgerechnet auf den Zeitraum von der Benutzer Zeitzone und toZone
ist der Name der Zone wir sind zu konvertieren. Der Fehler tritt in dieser Zeile auf var offset = new DateTimeOffset(inputTime, fromTimeOffset);
Irgendwelche Ideen, wie man das funktioniert?
was die Beispielwerte für 'inputTime sind, fromTimeOffset', die Sie –
ein Beispiel sind vorbei sein könnte:' inputTime = 28/03/2016 06.09.49 PM' und 'fromTimeOffset = 13hrs' – Toxicable
Wenn Sie finden sich immer wieder "Ich dachte, es wäre einfach genug ..." in Bezug auf die C# 'DateTime', es lohnt sich Jon Skeets (in) berühmten" Was ist falsch mit DateTime überhaupt? " Post über die Geburt der NodaTime-Bibliothek: http://blog.nodatime.org/2011/08/what-wrong-with-datetime-anyway.html – rob3c