2017-12-20 12 views
0

Ich verwende DateTime.UtcNow und DateTime.Now in C# , aber beide geben falsche Stunde und Minuten zurück.DateTime.UtcNow und DateTime.Now gaben die falsche Zeit zurück

Meine richtige Zeit ist 23.04 Uhr und die Rückkehr 20.34 oder so ähnlich

habe ich diesen Code vor der Datetime-Funktion:

System.Globalization.CultureInfo.CurrentCulture.ClearCachedData(); 

aber die gleichen ...

was kann ich tun?

+1

Da es sehr unwahrscheinlich ist, dass diese ein Billionen mal getesteten Eigenschaften einen so offensichtlichen Fehler haben, können Sie bitte erneut die Zeit Ihrer Maschine überprüfen und den Code, den Sie verwenden, um die Werte als Strings anzuzeigen? –

+0

... oder so ähnlich – Plutonix

+0

Sie liefern nicht viele Informationen. Ein Unterschied von 2:30 entspricht der Zeitzonenentfernung zwischen Israel (wo Sie nach Ihrem Profil hier sein könnten?) Und Afghanistan. Haben Sie Grund zu der Annahme, dass die regionalen Gegebenheiten oder der Standort der Maschine mit Afghanistan zusammenhängen? –

Antwort

0

Ihre Frage ist nicht sehr klar, was ist Ihre Zeitzone? Für Pacfic Standard-Zeitzone können Sie den String-Namen entsprechend Ihrer Anforderung ändern und PS auch Ihre Systemzeit überprüfen.

TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, 
    TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")); 
0

Sie müssen die Zeit- und Zeitzoneneinstellung Ihres Computers überprüfen. Sie haben eine von zwei Optionen:

1) Code:

Console.WriteLine(string.Concat("DateTime.Now: ", DateTime.Now.TimeOfDay)); 
Console.WriteLine(string.Concat("DateTime.UtcNow: ", DateTime.UtcNow.TimeOfDay)); 
Console.WriteLine(string.Empty); 

string tziString = TimeZoneInfo.Local.Id; 

Console.WriteLine(string.Concat(tziString, ": ", 
    TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById(tziString)).TimeOfDay)); 

Console.WriteLine(string.Concat("UTC Offset: ", TimeZoneInfo.Local.GetUtcOffset(DateTimeOffset.Now))); 

Ergebnis:

Code Result

2) Rechtsklick auf das Datum und die Uhrzeit in der rechten Seite der Aufgabe und klicken Sie auf "Datum/Uhrzeit einstellen":

Adjust Date Time

Sie müssten die Option 2 durchlaufen, um sie zu ändern, wenn die Einstellungen für die Zeitzone falsch sind. Das wäre also die Option, mit der ich beginnen würde.