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

211
Visualizações
Convierta el calendario persa (Jalali) en una marca de tiempo en la entrada del campo de formulario

Hice un formulario con Confiforms en Confluence incluyendo un campo de calendario persa. Hay una macro de control de filtro para filtrar los registros. Pero este filtro no funciona bien con las fechas persas. Debido a que las fechas persas se guardan como marca de tiempo, pero el campo del calendario persa muestra la fecha, no la marca de tiempo, y cuando quiero filtrar registros, debo escribir la marca de tiempo en el campo del calendario persa para que el filtro funcione.

Captura de pantalla del formulario

El problema es que quiero que cuando elijo una fecha, devuelva su marca de tiempo al campo en lugar de la fecha. (Mira la foto)

¿Hay algún código JavaScript/jQuery para convertir una entrada de fecha persa de un campo en una marca de tiempo?

Editar: el formato de fecha shamsi de la entrada de campo es dm-aa (por ejemplo, 15-12-1400)

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

0

La siguiente función convertirá una fecha persa (Jalali) en una marca de tiempo (basada en UTC).

Pasa el año, el mes y el día de Jalali a la función y el resultado es la marca de tiempo en la zona UTC.

 function jalaliToUTCTimeStamp(year, month, day) { const format=new Intl.DateTimeFormat('en-u-ca-persian',{dateStyle:'short',timeZone:"UTC"}); let g=new Date(Date.UTC(2000,month,day)); g=new Date(g.setUTCDate(g.getUTCDate()+226867)); const gY=g.getUTCFullYear(g)-2000+year; g=new Date(((gY<0)?"-":"+")+("00000"+Math.abs(gY)).slice(-6)+"-"+("0"+(g.getUTCMonth(g)+1)).slice(-2)+"-"+("0"+(g.getUTCDate(g))).slice(-2)); let [pM,pD,pY] = [...format.format(g).split("/")],i=0; g=new Date(g.setUTCDate(g.getUTCDate()+~~(year*365.25+month*30.44+day-(pY.split(" ")[0]*365.25+pM*30.44+pD*1))-2)); while (i<4){ [pM,pD,pY]=[...format.format(g).split("/")]; if(pD==day && pM==month && pY.split(" ")[0]==year)return +g; g=new Date(g.setUTCDate(g.getUTCDate()+1)); i++; } throw new Error('Invalid Persian Date!'); } //========================================================== // Test Units //========================================================== console.log(jalaliToUTCTimeStamp(1400,12,5)); console.log(jalaliToUTCTimeStamp(1400,12,6)); console.log(jalaliToUTCTimeStamp(1400,12,7)); console.log(jalaliToUTCTimeStamp(1400,12,8)); console.log(jalaliToUTCTimeStamp(1400,12,9)); console.log(jalaliToUTCTimeStamp(1400,12,10)); console.log(jalaliToUTCTimeStamp(1400,12,11)); //==========================================================

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