2014-07-01 3 views
0

저는 Angular UI Date picker를 사용합니다. 내가 날짜 2015년 7월 15일을 선택하면,로 할당 모델 값 (I 인도 GMT +5에서 오전 : 30) 다음 내가에서 날짜 선택각도 UI 부트 스트랩의 날짜 문제

<input type="text" class="form-control" id="testDate" name="testDate" 
     ng-model="testDate" datepicker-popup="dd-MMMM-yyyy" 
     is-open="opened" datepicker-options="dateOptions" 
     date-disabled="disabled(date, mode)" /> 

에 사용

2015-07-14T18:30:00.000Z 

코드 서버 측 (UTC 형식)으로 (1215-07-14T18 : 30 : 00.000Z ')과 같은 날짜에 액세스하면 2015 년 7 월 14 일 대신 20 분 2015 년 7 월 15 일

어떻게 해결할 수 있습니까?

답변

0

문제는 UTC 시간과 UTC 시간의 '요일'이 현지 시간의 '요일'과 다른 현지 시간입니다.

현지 시간을 보려면 서버에서 현지 시간으로 변환 해보십시오. +5 : 30 일 경우 2015 년 7 월 15 일 자정에 해결 될 것으로 보입니다. 따라서 UTC의 경우 +5 : 30이 필요하므로 올바르지 않지만 현지 시간은 올바르지 않습니다. 나는 당신이 서버 측에서 어떤 언어를 사용하고 있는지 알지 못한다. 그러나 날짜에 'kind'를 설정하고 문화를 지정하는 방법이 있어야한다.

시간을 UTC로 저장하고 사용자에게 표시하기 전에 로컬 권한으로 변환하는 것이 가장 좋습니다. 그래서 DB에 '2015-07-14T18 : 30 : 00.000Z'로 저장하고 데이터를 검색 할 때 필요한 로컬 타임을 '2015-07-14T18 : 30 : 00.000Z'로 반환합니다.

$scope.$watch('testDate', function() { 
     $scope.testDate= $filter('date')($scope.testDate, 'MM/dd/yyyy'); 
    }); 

가 컨트롤러에 $ 필터를 삽입해야합니다 : 여기

자동 변화에 대한 몇 가지 코드 현지 시간으로 모델입니다.

희망이 도움이됩니다.

+0

나는 이해했다. 그러나 UTC 날짜 대신 시간대 특정 날짜를 각도 날짜로 timepicker로 가져 오는 방법이 있습니까? –

+0

날짜 필터로 필터링해야합니다 (https://docs.angularjs.org/api/ng/filter/date – link

+0

).하지만 UTC 형식 대신 현지 시간대 형식으로 모델 값을 갖고 싶습니다. –

관련 문제