2017-04-12 1 views
2

약속 시간 양식에 ion-datetime을 사용하고 있습니다. 삽입하는 동안 아무 문제없이 잘 작동합니다. 그러나 백엔드에서 삽입 된 약속 날짜 양식 세부 정보를 업데이트해야하는 경우 날짜 값이 ion-datetime에 표시되지 않습니다.ionic 2 ion-datetime ISO 형식 문제

update.html :

<ion-item class="border-bottom"> 
     <ion-label class="ionselect" >Appointment Date:</ion-label> 
     <ion-datetime name="appdate" displayFormat="YYYY MMM DD" [(ngModel)]="leadDetailsUpdate.appt_date"></ion-datetime> 
</ion-item> 

update.ts : 아래

내 코드입니다

leadDetailsUpdate={ 
     appt_date:'' 
}; 

다음과 같이 내가 백 엔드에서 무엇입니까 날짜 형식 :

appt_date: "2017-01-01" 

다음은 오류입니다. 또는 메시지 내가 콘솔에서 점점 오전 :

Error parsing date: "null". Please provide a valid ISO 8601 datetime format: https://www.w3.org/TR/NOTE-datetime

+0

사용 ** toISOString() ** 날짜로 표시하기 전에 ISO로 변환하는 기능 –

+0

문제가 해결되면 알려주세요 –

답변

6

은 ISO 형식으로 변환

var date = new Date('2017-01-01').toISOString() 
 
console.log(date)

+0

아닙니다. 이 코드를 사용할 위치는? –

+0

다음은 내가 시도한 것과 오지 않은 것입니다 : leadDetailsUpdate = { appt_date : '새 날짜 ('appt_date '). toISOString()' }; –

+0

@AkashM 그냥 appt_date를 사용하여 새 날짜를 만들고 appt_date에 다시 지정하십시오. –

2

에도 Gaurav이 옳다 표시하기 전에, 당신의 시간대가 아닌 경우 발견 +0, 당신은 그것에 문제가있을 수 있습니다.

let tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds 
this.startTime = (new Date(this.myStartTime - tzoffset)).toISOString().slice(0,-1); 

그런 다음 내 HTML에서 나는이처럼이 : 나는 곳이 솔루션을 발견

<ion-datetime displayFormat="HH:mm" [(ngModel)]="startTime" (ionChange)="changeCheckOutStartTime()" style="padding-left: 21px"></ion-datetime> 

그리고를 changeCheckOutStartTime() 방법, 나는 시간이 걸릴 잠시 만들 :

changeCheckOutStartTime() { 
    this.myStartTime = moment(this.startTime).toDate(); 
} 
0

표시하기 전에 ISO 형식을 사용하면 다음과 같이 표시됩니다.

this.myDate = new Date('2017-01-01').toISOString() 

시간이 다를 수 있으며, 각 브라우저마다 다른 것을 할 것입니다. 제 경우에는 5 시간의 차이가있었습니다 (16/12/17 02:00은 16/12/17 07:00).

  1. 열기 콘솔 루트 proyect에서 모멘트 설치 : npm install moment --S

    더 좋은 방법은 documentationn에 이온 recomends (https://ionicframework.com/docs/api/components/datetime/DateTime/#advanced-datetime-validation-and-manipulation)

    예로 순간을 사용하는 것입니다.

  2. 구성 요소 파일의 가져 오기 순간 : import moment from 'moment';.
  3. 모델 변수의 설정 값은 this.myDate = moment().format()입니다.

최상의 것은 파이프를 만드는 것입니다.이 데모를 잘 확인하십시오 http://plnkr.co/edit/MHjUdC 영감을 얻으려면, goog luck :)