Generate array of times (as strings) for every X minutes in JavaScript

后端 未结 15 1776
耶瑟儿~
耶瑟儿~ 2020-12-24 01:46

I\'m trying to create an array of times (strings, not Date objects) for every X minutes throughout a full 24 hours. For example, for a 5 minute interval the arr

15条回答
  •  猫巷女王i
    2020-12-24 02:06

    const getTimes = (increment = 2) => {
      const times = [];
      for (let i = 0; i < 24; i++) {
        times.push({
          value: `${i === 0 || i - 12 === 0 ? 12 : i < 12 ? i : i - 12}:00 ${i < 12 ? 'AM' : 'PM'}`,
          label: `${i === 0 || i - 12 === 0 ? 12 : i < 12 ? i : i - 12}:00 ${i < 12 ? 'AM' : 'PM'}`,
        });
        for (let j = 60 / increment; j < 60; j += 60 / increment) {
          times.push({
            value: `${i === 0 || i - 12 === 0 ? 12 : i < 12 ? i : i - 12}:${Math.ceil(j)} ${i < 12 ? 'AM' : 'PM'}`,
            label: `${i === 0 || i - 12 === 0 ? 12 : i < 12 ? i : i - 12}:${Math.ceil(j)} ${i < 12 ? 'AM' : 'PM'}`,
          });
        }
      }
      return times;
    };
    
    

提交回复
热议问题