Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

159
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda