Создайте массив за последние 24 часа, используя moment.js - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь создать массив за последние 24 часа, значениями которого являются просто часы, за которыми следует AM / PM (не минуты, секунды или даже календарная дата) в Moment.js.

Это вроде как работает прямо сейчас, но выдает полные данные даты (вс 6 мая 2018 22:24:29 GMT-0700) в каждом элементе, когда мне нужно только время в часах:

JS код:

var hoursPerDay = 24;
var time = [];

function timeOneDay() {
  var formattedTime;
  for (i = 0; i < hoursPerDay + 1; i++) { //fill in all of the hours
    formattedTime = (moment().subtract(i, "hours"));
    formattedTime.format("hA"); //give the time in format X AM/PM
    time.unshift(formattedTime); //add to beginning of array
  } //do this for all 24 hours
}
timeOneDay();
console.log(time);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>

1 Ответ

0 голосов
/ 07 мая 2018

moment.format() возвращает отформатированное значение. Вы не хранили его внутри переменной

var hoursPerDay = 24;
var time = [];

function timeOneDay(){
    var formattedTime;
    for(i =0; i < hoursPerDay+1 ; i++){ //fill in all of the hours
        formattedTime = (moment().subtract(i, "hours")).format("hA");  //give the time in format X AM/PM
        time.unshift(formattedTime);  //add to beginning of array
    }                                //do this for all 24 hours
}
timeOneDay();
console.log(time);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
...