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

158
Vistas
Temporizador de cuenta regresiva APEX entre fechas

Estoy tratando de mostrar el temporizador de cuenta regresiva entre una columna de fecha/hora de finalización y la columna de fecha/hora del sistema usando el siguiente código. No muestra el temporizador.

Creé un elemento de página P3_TIMER y tiene una columna P3_STARTDATE.

 var timer; var endDate = new Date(); endDate.setDate(endDate.getDate()); //End date is the sys date timer = setInterval(function() { timeBetweenDates(endDate); }, 1000); function timeBetweenDates(toDate) { var dateEntered = :P3_STARTDATE; var now = new Date(); var difference = dateEntered.getTime() - now.getTime(); if (difference <= 0) { // Timer done clearInterval(timer); } else { var seconds = Math.floor(difference / 1000); var minutes = Math.floor(seconds / 60); var hours = Math.floor(minutes / 60); var days = Math.floor(hours / 24); hours %= 24; minutes %= 60; seconds %= 60; $("#days").text(days); $("#hours").text(hours); $("#minutes").text(minutes); $("#seconds").text(seconds); } $s('P3_TIMER',timer); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No es posible mezclar pl/sql y javascript. Son lenguajes diferentes y se ejecutan en diferentes entornos.

 function timeBetweenDates(toDate) { var dateEntered = :P3_STARTDATE; >>> This is pl/sql var now = new Date();

El P3_STARTDATE debe convertirse en un objeto de fecha de JavaScript. Eso no puede ser directamente, se necesita un poco de análisis como se muestra en este hilo .

Para el siguiente ejemplo, se asume que la fecha se pasa en formato DD-MON-YYYY.

 var timer; var endDate = new Date(); endDate.setDate(endDate.getDate()); //End date is the sys date timer = setInterval(function() { timeBetweenDates(endDate); }, 1000); function parseDate(s) { var months = {jan:0,feb:1,mar:2,apr:3,may:4,jun:5, jul:6,aug:7,sep:8,oct:9,nov:10,dec:11}; var p = s.split('-'); return new Date(p[2], months[p[1].toLowerCase()], p[0]); } function timeBetweenDates(toDate) { var dateEntered = parseDate(apex.item( "P63_DATE" ).getValue() ); var now = new Date(); var difference = dateEntered.getTime() - now.getTime(); if (difference <= 0) { // Timer done clearInterval(timer); } else { var seconds = Math.floor(difference / 1000); var minutes = Math.floor(seconds / 60); var hours = Math.floor(minutes / 60); var days = Math.floor(hours / 24); hours %= 24; minutes %= 60; seconds %= 60; $("#days").text(days); $("#hours").text(hours); $("#minutes").text(minutes); $("#seconds").text(seconds); } apex.item("P63_TIMER").setValue(`Days: ${days}, Hours: ${hours}, Minutes: ${minutes}, Seconds: ${seconds}`); }
about 4 years ago · Juan Pablo Isaza Denunciar
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