2016-04-25 6 views
0

In meinem Projekt speichere ich die ausgewählte Datetime (in UTC) von meinem Datepicker.Sie speichert die Utate Datetime nur während der Anwendung in lokalen.Nach der Bereitstellung auf Azure speichert sie die ausgewählte Datetime von Datepicker unabhängig von der Utc.So speichern Sie die Utc-Datei aus der manuell ausgewählten Datetime in der azure Web App?

Update:

string selecteddate = "12/04/2016 05:30:15"; 
DateTime dt = Convert.ToDateTime(selecteddate).ToUniversalTime(); 

dieser Code speichert utc datetime in db in localhost, aber es funktioniert nicht in azur

+0

können wir ein Code-Snippet darüber haben, wie Sie das Datum speichern? – Sampath

+0

string selecteddate = "12/04/2016 05:30:15"; DateTime dt = Convert.ToDateTime (selecteddate) .ToUniversalTime(); Dieser Code speichert ** utc datetime ** in db in localhost, aber es funktioniert nicht in azure –

+0

Haben Sie irgendwelche Fehlermeldungen? –

Antwort

0

Die DateTime Instanz, die Sie mit Convert.ToDateTime(selecteddate) schaffen DateTimeKind.Unspecified haben. Wenn Sie dann ToUniversalTime aufrufen, nimmt es daher an, dass der Quellwert in der lokalen Zeitzone des Computers ist, auf dem der Code ausgeführt wird.

Auf Azure, dass die Zeitzone ist bereits UTC, also während der .Kind zu DateTimeKind.Utc ändern wird, wird der Wert der gleiche bleiben.

Wenn Sie es aus einer bestimmten Zeitzone konvertieren möchten, verwenden Sie stattdessen TimeZoneInfo.ConvertTimeToUtc und übergeben Sie einen bestimmten Wert TimeZoneInfo für die Zeitzone, die Ihnen wichtig ist.

Im Allgemeinen sollten Sie sich nicht auf die lokale Zeitzoneneinstellung in einer Web-App verlassen, da die Zeitzone abhängig davon, wo Sie sie bereitstellen, unterschiedlich sein kann. Vermeiden Sie ToUniversalTime und ToLocalTime sowie DateTime.Now und andere Funktionen, die von der Zeitzoneneinstellung des lokalen Rechners abhängen.