Tengo la siguiente cadena y quiero convertirla a Fecha
'20220722T141444Z'
En C# lo convertí con la biblioteca DateParser de Telerik.
¿Hay alguna manera de convertirlo en JavaScript también?
Hay muchas preguntas sobre el análisis de marcas de tiempo. En este caso, puede obtener las partes como pares de dos dígitos y luego usar eso para llamar al constructor Fecha .
Dado que la marca de tiempo tiene una "Z" al final, es probable que deba analizarse como UTC, por lo que:
let ts = '20220722T141444Z' let [C,Y,M,D,H,m,s] = ts.match(/\d\d/g) || []; let date = new Date(Date.UTC(C+Y, M-1, D, H, m, s)); console.log(date.toISOString());Hay muchas otras formas de abordar el problema, como modificar los valores para crear un formato compatible como `2022-07-22T14:14:44Z', sin embargo, es más eficiente dar las partes directamente al constructor Date que compilar una cadena luego haga que el analizador integrado la analice.
hay una forma en javascript pero creo que no funcionará con este formato
cambia el formato así y prueba
new Date('20220722T141444Z') Invalid Date new Date('20220722') Invalid Date new Date('2022 07 22') Fri Jul 22 2022 00:00:00 GMT+0530 (India Standard Time)Debido a que la new Date(string) devuelve una Invalid Date , lo haría así y usaría String.prototype.slice() :
function date(a) { return `${a.slice(6, 8)}.${a.slice(4, 6)}.${a.slice(0, 4)}`; } console.log(date("20220722T141444Z")); // output: 22.07.2022