2017-09-13 55 views
0

我使用稱爲ionic-timepicker的離子的timepicker組件,在文檔中選定的時間值是一個紀元。如何將選定的時間值轉換爲適當的時間?

回調獲得的價值是這樣的:

var ipObj1 = { 
    callback: function (val) {  //Mandatory 
     if (typeof (val) === 'undefined') { 
     console.log('Time not selected'); 
     } else { 
     var selectedTime = new Date(val * 1000); 
     console.log('Selected epoch is : ', val, 'and the time is ', selectedTime.getUTCHours(), 'H :', selectedTime.getUTCMinutes(), 'M'); 
     } 
    } 
} 

這裏的問題是,比如我在timepicker選擇2:00 PM,則selectedTimeThu Jan 01 1970 22:00:00 GMT+0800 (China Standard Time),我只希望得到確切2:00 PM值。

其次,爲什麼selectedTime變量包含Jan 01 1970?任何幫助將非常感激。

回答

1

我會建議你使用的庫MomentJs

import * as moment from 'moment/moment'; 

let date = moment(new Date()).format('LT'); 

// Outputs: '10:42 AM' 

不同的格式,可以在文檔中找到。

你約會的原因回落到1970年1月1日是因爲你沒有設定任何約會。默認情況下,日期/時刻對象回退到Unix時間戳的開頭。

+0

我現在在使用它。我的代碼是moment(selectedTime).format('LT'),並且當我在timepicker中選擇2:00 PM時,使用時刻(selectedTime)我得到10:00 PM.format('LT') – FewFlyBy

+0

也許是因爲你乘以它由1000?爲什麼你首先做到這一點?你有沒有嘗試將採樣器的格式設置爲24小時? – JoeriShoeby

+0

我試圖刪除乘以1000,我需要一個12小時的格式,因爲我來自菲律賓,但我仍然得到不正確的值。無論如何感謝 – FewFlyBy

相關問題