c# - Why is .NET changing UTC date to server timezone? -


i have angularjs app posting date in utc format .net controller:

createevent: function (event) {          var event_date = moment.utc(new date(event.event_date)).format();          return $http({             url: '/test/createevent/',             method: "post",             data: { event_date: event_date}         });      } 

if put date july 4 2016, 08:00 in event.event_date, moment converts "2016-07-03t22:00:00z" posted server.

below snippet of .net controller:

public jsonresult createevent(@event evt, int eventoffset)     {          datetime eventdate = evt.event_date;          ...     } 

i've set breakpoint on first line , evt.event_date contains date july 4 2016, 08:00. server running in gmt+10 timezone. why date being converted current timezone , how stop this?

i suspect short cut convert date time string definite format. server side must remember definite format.

i understand problem. json object's date property converted irregardless database , how store, don't reach point of storing in database. must has serialization problems.

this post dates:- http://www.hanselman.com/blog/onthenightmarethatisjsondatesplusjsonnetandaspnetwebapi.aspx