2016-09-21 104 views
0

我正在使用IONIC2,Angular2和Typescript。我有一個日期時間的工作如下:IONIC2上的語言環境時間日期時間選擇器

page.html

<ion-datetime displayFormat="DD MMMM YYYY" pickerFormat="DD MMMM YYYY" [(ngModel)]="date"></ion-datetime> 

page.ts

date: string = new Date().toISOString(); 

離子日期時間字段顯示時間還有一個小時少了,我怎麼可以顯示日期時間上考慮選擇器的時區的日期?

+0

爲什麼要給一個字符串,該組件?嘗試沒有'.toISOString()'? – mxii

+0

是的@ mxii,我只用'date:Date = new Date();'嘗試過;'但是發生錯誤:'ORIGINAL EXCEPTION:TypeError:無法讀取屬性'month'爲null'。我認爲這是因爲ion-datetime嘗試使用特定格式(ISO)解析字符串而不是日期或另一個字符串,如'.toString()','toUTCString()','toLocaleString()'。 –

+0

那'ISOString'將返回UTC時間而沒有它的時區信息..我不知道如何告訴Ionic使用本地時區來顯示它.. – mxii

回答

3

閱讀this answer我解決了我的問題。最後我用:

moment(new Date().toISOString()).locale('es').format(); 

由於sebaferreras

+0

聽起來不錯!很高興我能幫上忙 :) – sebaferreras

1

最簡單的就是刪除時區以毫秒爲單位偏移:

date = new Date(); 
myDate: String = new Date(this.date.getTime() - 
       this.date.getTimezoneOffset()*60000).toISOString();