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

99
Visualizações
Solución de problemas de una fecha que no se analiza en Javascript

Recuperar las propiedades de fecha de una API web de C# que parecía estar bien pero tuvo problemas al conectarlo a DevExtreme DateBox. Estaba arrojando un error de 'getFullYear no es una función', así que verifiqué las fechas con esta función que encontré aquí:

 let r: any = http.post('/get', { Param1: 2, Param2: 1 }); console.log(r.StartDate); console.log(this.isValidDate(r.StartDate)); r.StartDate = new Date(r.StartDate); r.EndDate = moment(r.EndDate); console.log('Start Date', this.isValidDate(r.StartDate)); console.log('End Date', this.isValidDate(r.EndDate)); isValidDate(d: any): void { if (Object.prototype.toString.call(d) === "[object Date]") { console.log('it is a date'); if (isNaN(d)) { // d.getTime() or d.valueOf() will also work console.log('date object is not valid'); } else { console.log('date object is valid'); } } else { console.log('not a date object'); } } StartDate: "/Date(1657512000000)/" not a date object undefined it is a date date object is not valid Start Date undefined not a date object End Date undefined

No estoy seguro de por qué esto no ha surgido antes con esta API, pero no quería mirar a DevExpress dado que no puedo producir una fecha válida.

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

0

Proporciono esta respuesta para demostrar una forma de analizar la marca de tiempo en la cadena que tiene del siguiente formato, inferido por console.log(r.StartDate); ... /Date(TS)/ :

 // Provided the date has the following structure in a string var anyStartDate = "/Date(1657512000000)/"; // Prepare to parse it out by getting the positions of the parentheses var openParens = anyStartDate.indexOf("("); var closeParens = anyStartDate.indexOf(")"); // Parse out the timestamp var timeStampStr = anyStartDate.substring(openParens + 1, closeParens); console.log( timeStampStr ); // 1657512000000 // Convert timestamp to an int. You can do this when you create the obj, but I am separating it here for explanation purposes. var timeStampInt = parseInt( timeStampStr ); // Now create a date object var dateObj = new Date( timeStampInt ); console.log( dateObj ); // (on the machine I'm on): // Outputs: Mon Jul 11 2022 00:00:00 GMT-0400 (Eastern Daylight Time) // Or outputs: 2022-07-11T04:00:00.000Z

Ahora no sé qué biblioteca (s) está utilizando para manejar las fechas, así que simplemente opté por el objeto Date nativo. Sin embargo, puede usar esta SOLUCIÓN en más información para aplicarla a su código.

El punto es que una vez que se extrae la marca de tiempo, se puede usar para crear un objeto Fecha y, por lo tanto, utilizar todos los métodos que son inherentes a esa clase.

En términos de la "zona horaria", para llegar a UTC, ya está en UTC, pero JavaScript lo formatea según la configuración regional de su computadora. Internamente sigue siendo UTC. Hay una forma de mostrarlo como estrictamente UTC que se encuentra en los documentos.

`

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