2015-11-17 81 views
1

我試圖像1.25的十進制格式成格式如下。Moment.js十進制數爲時間格式

我與FullCalendar工作。

我所試圖做的是從日曆中刪除事件,而是將它們放回外部事件隊列適當data-duration屬性。

1 -> 01:00 
1.25 -> 01:15 
1.5 -> 01:30 
1.75 -> 01:45 

我將永遠只能在15個分鐘的間隔工作。

這可能與moment.js?

謝謝!

回答

2

我認爲momentjs將是這個簡單的目的,矯枉過正。 您可能需要使用香草JS獲得以那種方式格式化小數

function parse(num) { 
    return ('0' + Math.floor(num) % 24).slice(-2) + ':' + ((num % 1)*60 + '0').slice(0, 2); 
} 

parse(24.5) -> '00:30' 
parse(1.25) -> '01:15' 
parse(1.5) -> '01:30' 
parse(1.75) -> '01:45' 

一些解釋:

- 獲得小時數

'0'+ Math.floor(num) % 24 - 脅迫數字以字符串領先零

('0' + Math.floor(num) % 24).slice(-2) - 得到字符串中的最後兩個字符

(num % 1) - 將分鐘作爲小數部分的一部分

(num % 1)* 60 + '0' - 強制以分鐘結尾零無效

(num % 1)*60 + '0').slice(0, 2) - 獲得字符串中的前兩個字符;

+0

謝謝!很棒。 Moment.js已經被加載到頁面上,所以我認爲可能有一個函數它是庫 - 但這是有效的! – stillfire