Javascript의 Date는 영국 런던을 기점으로 하는 GMT/UTC를 기본으로 쓴다.
한국의 시간은  GMT/UTC보다 9시간이 더 빠르다.

그래서 Datepicker컨트롤의 설정의 따라 내가 선택한 시간과 실제 데이터 시간이 9시간 차이가 날 수 있다.
 




위 사진을 보면 나는 4월13일을 선택 했는데 제일 아래줄을 보면 4월12일15시 라고 나오는 것을 볼 수있다.
그런데 input Text에 있는 값은 똑같은데 내가 선택한 4월 13일이 재대로 나온다.

Date객체는 toString()을 하게 될경우 해당 지역의 시간으로 나오기 때문이다.

서버로 데이터를 보내기 전에 9시간 차이가 나는 것을 javascript에서  처리하거나 서버에서 처리해야한다.

Core서버에서 처리를 한다면  DateTime의 ToLocalTime()을 사용하면 된다.
 Event.Start = Event.Start.ToLocalTime();




ASP.CORE 에서는 환경설정을 통해서 설정가능하다

services.AddMvc() // Json 옵션

       .AddJsonOptions(opt =>

       {

         opt.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Local;

       });

'Development > Web' 카테고리의 다른 글

Custom ASP.NET 인증서비스 사용하기  (0) 2012.03.07

+ Recent posts