0

javascript で、午前 12 時から午後 11 時まで、AM/PM を含む 1 時間ごとに 1 つの値を含む配列を作成するにはどうすればよいでしょうか?

4

3 に答える 3

5

率直に言って、これが最も効率的な方法です。

var hours = [ '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'  ];
于 2010-02-03T22:00:37.310 に答える
4

これを行う方法は無数にあります。ここに1つあります:

var theHours = [];
for (var i=0; i<= 23; i++) {
    theHours[i] = (i == 0) ? "12 AM" : ((i <12) ? i + " AM" : (i-12 || 12) + " PM");
}

戻り値

[「午前 12 時」、「午前 1 時」、「午前 2 時」、「午前 3 時」、「午前 4 時」、「午前 5 時」、「午前 6 時」、「午前 7 時」、「午前 8 時」、「午前 9 時」 、「午前 10 時」、「午前 11 時」、「午後 12 時」、「午後 1 時」、「午後 2 時」、「午後 3 時」、「午後 4 時」、「午後 5 時」、「午後 6 時」、「午後 7 時」 、「午後 8 時」、「午後 9 時」、「午後 10 時」、「午後 11 時」]

于 2010-02-03T21:56:25.913 に答える
0

これは私が以前に使用した方法です:

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"]
于 2010-02-03T22:10:01.903 に答える