Это метод, который я использовал раньше:
var hour,meridien;
cow=['12 am'];
for(i=0;i<23;i++){
if(i>11){hour=i-11;meridien=(hour==12)?'am':'pm';}
else{hour=i+1;meridien=(hour==12)?'pm':'am';}
cow.push(hour+' '+meridien);
}
возвращает
["12 am", "1 am", "2 am", "3 am", "4 am", "5 am", "6 am", "7 am", "8 am", "9 am", "10 am", "11 am",
"12 pm", "1 pm", "2 pm", "3 pm", "4 pm", "5 pm", "6 pm", "7 pm", "8 pm", "9 pm", "10 pm", "11 pm"]