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

247
Visualizações
Generar marcas de tiempo divididas uniformemente para cada correo electrónico en una matriz

Necesito generar un tiempo de send_at que se divida uniformemente por los segundos en un día laboral de 6 am a 6 pm.

Por el bien de esto, se utilizará una lista de 500 correos electrónicos.

 var emailList = ["agent0@email.com", "agent1@email.com", "agent2@email.com", ...]; //List of 500 Emails var currentTime = new Date().getTime(); //Unix Time Stamp for right now var day = 86400/2; //12 hours in seconds(6am-6pm) var interval = Math.ceil(day/emailList.length); // Every 86.4 second for 500 rounded to 87

Simplemente no puedo entender cómo pasar este punto.

Objetivo final: necesito una función que pueda tomar un valor de entrada de una matriz llena de correos electrónicos, dividir esa longitud de matrices por el día laboral de 12 horas de 6 am a 6 pm, y luego generar una matriz u objeto de tiempos para enviar cada correo electrónico y tal vez ese correo también...

Entrada: myFuncton(emailList)

Salida: [{email: "agent0@email.com", send_at: 1657559806}, {email: "agent1@email.com", send_at: 1657559893}, {email: "agent2@email.com", send_at: 1657559980}]

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Recorra la matriz, agregando cada vez el intervalo para la marca de tiempo.

 var emailList = ["agent0@email.com", "agent1@email.com", "agent2@email.com"]; var currentTime = new Date().getTime(); //Unix Time Stamp for right now var day = 12 * 60 * 60 * 1000; var interval = Math.ceil(day / emailList.length); var result = []; var send_at= currentTime; emailList.forEach(function(email) { result.push({ email: email, send_at: send_at, human_time: new Date(send_at) }) send_at+= interval; }) console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede anotar el tiempo de startTime y el tiempo de endTime de la ventana de tiempo y luego calcular el intervalo de tiempo total timeSpan . Luego divida el tiempo total por la cantidad de correos electrónicos para calcular la longitud del intervalLength .

A partir de ahí, puede calcular el tiempo de envío de cada correo electrónico con la fórmula startTime + intervalLength * index

 const emailList = Array(500).fill().map((_, i) => 'email_'+i); // Placeholder email list const startTime = new Date().setHours(6, 0, 0, 0) const endTime = new Date(startTime).setHours(18); const timeSpan = endTime - startTime; const intervalLength = timeSpan / emailList.length; const output = emailList.map((email, i) => ({ email, send_at: startTime + intervalLength*i })); console.log(output);

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