2017-08-15 171 views
0

我有一個這樣的數組,[0,1,2,3 .. 23],它們表示一天中的小時。如何使用瞬間js將它們轉換爲12小時,然後做日期範圍?根據整數生成日期範圍

我的願望輸出

['12am-1am','1am-2am','2am-3am' .. 11pm-12am] 

我的嘗試失敗了怎麼我覺得我不需要時刻https://jsfiddle.net/s4L7hj1a

+0

請張貼代碼與嘗試 –

+0

@MaximShoustin做,你可以將它們添加在數組中。 –

回答

2

你不需要moment.js

var getFormattedHour = function(hour) { 
 
    return (hour % 12 ? hour % 12 : 12) + ':00 ' + ((hour < 12) || (hour >= 24) ? 'AM' : 'PM'); 
 
} 
 

 
var getHourRange = function(hour) { 
 
    return getFormattedHour(hour) + ' - ' + getFormattedHour(hour + 1); 
 
} 
 

 
var hours = []; 
 
for(var hour = 0; hour < 24; hour++) { 
 
    hours.push(hour); 
 
} 
 

 
hours.map(function(hour) { 
 
    console.log(getHourRange(hour)); 
 
});

+0

我不明白這行'小時%12?小時%12:12', –

+0

@CeciliaChan它用於將24h時間轉換爲12h。 –

1

使用moment.js:

const moment = require('moment'); 

const start = moment().startOf('day'); 

const times = 24; // 24 hours 

for (let i = 0; i < times; i++) { 
    const toPrint = moment(start) 
     .add(60 * i, 'minutes') 
     .format('hh:mm A'); 

     console.log(toPrint); 
} 

這會給喲:

12:00 AM 
01:00 AM 
02:00 AM 
... 
... 
10:00 PM 
11:00 PM 

那麼,只要你喜歡