• Разделить время на интервалы в js?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    const makeTimes = (interval, elapsedTimeMin) => {
      const deltaTimeMin = Math.ceil(elapsedTimeMin / 30) * 30;
      const startTime = new Date(interval.start);
      const endTime = new Date(interval.end);
      if (startTime.getSeconds() > 0) {
        startTime.setSeconds(60);
      }
      startTime.setMinutes(Math.ceil(startTime.getMinutes() / 30) * 30);
      const result = [];
      while (startTime <= endTime) {
        result.push(startTime.toLocaleTimeString('ru-RU', { hour: '2-digit', minute: '2-digit' }));
        startTime.setMinutes(startTime.getMinutes() + deltaTimeMin);
      }
      return result;
    }
    
    makeTimes({start: 'Tue Aug 30 2022 09:00:00', end: 'Tue Aug 30 2022 16:30:00'}, 20);
    // Array(16) [ "09:00", "09:30", "10:00", "10:30", "11:00", "11:30", "12:00", "12:30", "13:00", "13:30", … ]
    
    makeTimes({start: 'Tue Aug 30 2022 09:00:00', end: 'Tue Aug 30 2022 16:30:00'}, 40);
    // Array(8) [ "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00" ]
    Ответ написан
    Комментировать
  • Как сгруппировать данные в postgresql?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    select 
    	portfolio.id, portfolio.name,
    	array_agg(json_build_object('src', photos.src, 'src_build', photos.src_build))
    from portfolio
    left join photos on portfolio.id = photos.portfolio_id
    group by portfolio.id, portfolio.name
    ;


    PostgreSQL fiddle
    Ответ написан
    2 комментария