2013-05-10 8 views

Antwort

26

Es ist die lokale Zeitzone des Computers, auf der Code ausgeführt wird. In einer ASP.Net-Anwendung wird der Code auf dem -Server ausgeführt - das ist die Zeitzone, die es zurückgibt.

Das Verhalten dieser Funktion ist tatsächlich abhängig von der Eigenschaft .Kind des Quellwerts. Von den MSDN link you gave:

  • Utc - Diese Instanz von DateTime der lokalen Zeit konvertiert wird.
  • Lokal - Es wird keine Konvertierung durchgeführt.
  • Nicht angegeben -Diese Instanz von DateTime wird als UTC-Zeit angenommen, und die Konvertierung wird so durchgeführt, als ob Kind Utc wäre.

Dies ist nicht offensichtliches Verhalten. Sie können andere verwandte Probleme mit der .net DateTime Klasse here und here lesen.

Einige andere Punkte:

  • Wenn Sie best practices folgen, werden Sie die Server-Zeitzone auf UTC eingestellt. Wenn Sie versuchen, die Uhrzeit in der Zeitzone des Benutzers anzuzeigen, müssen Sie one of these strategies verwenden.
3

Es ist die lokale Zeit auf dem Server.

1

Lokal hier ist die Zeitzone der Maschine, auf der die Funktion ausgeführt wird.

8

ToLocalTime(), wird in diesem Fall auf dem Server ausgeführt. Daher wird die Zeit auf dem Server ausgewertet und die Serverzeit wird an den Client zurückgegeben.

Verwandte Themen