Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

264
Vistas
How to fix "getMonth" showing next year's month too

my problem is that the months are displaying till "April" which means starting from Jan to Next Year's April. I only need to display months till December.

This is my JavaScript code

var vals = [date.getFullYear() + (scale === YEAR ? qty : 0),
  date.getMonth() + (scale === MONTH ? qty : 0),
  date.getDate() + (scale === DAY ? qty : 0),
  date.getHours() + (scale === HOUR ? qty : 0),
  date.getMinutes() + (scale === MINUTE ? qty : 0),
  date.getSeconds() + (scale === SECOND ? qty : 0),
  date.getMilliseconds() + (scale === MILLISECOND ? qty : 0)
];
    return new Date(...vals);
},

start_of(date, scale) {
    const scores = {
        [YEAR]: 6,
        [MONTH]: 5,
        [DAY]: 4,
        [HOUR]: 3,
        [MINUTE]: 2,
        [SECOND]: 1,
        [MILLISECOND]: 0
    };

    function should_reset(_scale) {
        const max_score = scores[scale];
        return scores[_scale] <= max_score;
    }

    const vals = [
        date.getFullYear(),
        should_reset(YEAR) ? 0 : date.getMonth(),
        should_reset(MONTH) ? 1 : date.getDate(),
        should_reset(DAY) ? 0 : date.getHours(),
        should_reset(HOUR) ? 0 : date.getMinutes(),
        should_reset(MINUTE) ? 0 : date.getSeconds(),
        should_reset(SECOND) ? 0 : date.getMilliseconds()
    ];

    return new Date(...vals);
},

<script>
    document.addEventListener('DOMContentLoaded', function() {

        var gantt_data = <?php echo json_encode($gantt_data); ?>;

        if (gantt_data.length > 0) {
            var gantt = new Gantt("#gantt", gantt_data, {
                view_modes: ['Day', 'Week', 'Month', 'Year'],
                view_mode: 'Month',
                date_format: 'YYYY-MM-DD',
                column_width: 30,

            });

            $("#gantt g.handle-group").hide();

            $('body').on('mouseleave', '.grid-row', function() {
                gantt.hide_popup();
            })

            $('select[name$="gantt_view"').change(function(el) {
                let view = $(el.target).val();
                gantt.change_view_mode(view);
            });
        }

    })
</script>

I am not sure if something else could be causing this problem. I'm using Gantt chart and I only want to display 12 months.

I'm using this gantt. https://github.com/frappe/gantt

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda