drobison
drobison

Reputation: 908

How is local determined in ToLocalTime()

When using ToLocalTime(), how is local time determined? Is local time from the server or the client? My assumption would be the server running the application.

Upvotes: 31

Views: 22208

Answers (4)

Matt Johnson-Pint
Matt Johnson-Pint

Reputation: 241563

It is the local time zone of the computer that code is running on. In an ASP.Net application, the code runs on the server - so that's the time zone that it will return.

The behavior of this function is actually dependent on the .Kind property of the source value. From the MSDN link you gave:

  • Utc - This instance of DateTime is converted to local time.
  • Local - No conversion is performed.
  • Unspecified -This instance of DateTime is assumed to be a UTC time, and the conversion is performed as if Kind were Utc.

This is non-obvious behavior. You can read other related problems with the .net DateTime class here and here.

A few other points:

Upvotes: 43

KenD
KenD

Reputation: 5318

ToLocalTime(), in this case, executes on the server. Therefore the time is evaluated on the server, and it'll return the server time to the client.

Upvotes: 10

Local here is the timezone of the machine that the function executes on.

Upvotes: 2

Dave Zych
Dave Zych

Reputation: 21887

It is the local time on the server.

Upvotes: 4

Related Questions