[{"data":1,"prerenderedAt":194},["ShallowReactive",2],{"page:/es/guides/year-2038-problem":3},{"id":4,"title":5,"body":6,"description":180,"extension":181,"eyebrow":182,"faq":183,"locale":184,"meta":185,"navigation":186,"pageType":187,"path":188,"related":183,"seo":189,"stem":192,"__hash__":193},"pages/es/guides/year-2038-problem.md","El problema del año 2038",{"type":7,"value":8,"toc":168},"minimark",[9,14,23,27,30,34,37,41,44,48,98,107,110,114,117,120,124,132,145,149],[10,11,13],"h2",{"id":12},"el-límite","El límite",[15,16,17,18,22],"p",{},"Un entero con signo de 32 bits almacena de −2.147.483.648 a 2.147.483.647. Interpretado como segundos Unix, el límite positivo es ",[19,20,21],"code",{},"2038-01-19T03:14:07Z",". Añadir un segundo desborda esa representación.",[10,24,26],{"id":25},"quién-debe-comprobarlo","Quién debe comprobarlo",[15,28,29],{},"Los sistemas operativos antiguos, dispositivos integrados, columnas de bases de datos y protocolos binarios aún pueden usar segundos de 32 bits. Un timestamp de 64 bits o un tipo de fecha adecuado aleja el límite práctico, pero toda la cadena debe estar preparada.",[10,31,33],{"id":32},"cómo-probar","Cómo probar",[15,35,36],{},"Pasa valores a ambos lados del límite por el analizador, almacenamiento, serialización de API, entorno cliente e informes. Un servidor moderno no protege automáticamente una columna antigua o un protocolo de dispositivo.",[10,38,40],{"id":39},"otros-límites","Otros límites",[15,42,43],{},"Comprueba también el intervalo de campos en milisegundos, los enteros seguros de JavaScript y las restricciones de APIs externas. Unidades y tipos diferentes alcanzan sus límites en fechas distintas.",[10,45,47],{"id":46},"verificar-el-límite","Verificar el límite",[49,50,51,64],"table",{},[52,53,54],"thead",{},[55,56,57,61],"tr",{},[58,59,60],"th",{},"Segundos Unix",[58,62,63],{},"Fecha UTC",[65,66,67,78,88],"tbody",{},[55,68,69,75],{},[70,71,72],"td",{},[19,73,74],{},"2147483646",[70,76,77],{},"2038-01-19 03:14:06",[55,79,80,85],{},[70,81,82],{},[19,83,84],{},"2147483647",[70,86,87],{},"2038-01-19 03:14:07",[55,89,90,95],{},[70,91,92],{},[19,93,94],{},"2147483648",[70,96,97],{},"2038-01-19 03:14:08",[15,99,100,101,106],{},"El tercer valor es válido con una representación más amplia. Supera el límite de un entero de 32 bits con signo, no la definición del tiempo Unix. Puedes comprobarlo en el ",[102,103,105],"a",{"href":104},"/es/timestamp-to-date/","conversor"," seleccionando segundos.",[15,108,109],{},"El intervalo de ese tipo es de −2.147.483.648 a 2.147.483.647. Si un sistema antiguo desborda en lugar de rechazar el valor, el siguiente número puede convertirse en negativo y mostrar una fecha de 1901. El resultado concreto depende de la plataforma y del almacenamiento.",[10,111,113],{"id":112},"revisar-toda-la-cadena-de-datos","Revisar toda la cadena de datos",[15,115,116],{},"Comprueba la columna de la base de datos, el controlador, el contrato de la API, la serialización y el tipo de la aplicación. Ampliar una columna no elimina un cast a 32 bits en un cliente o dispositivo. Escribe y vuelve a leer valores a ambos lados del límite; compara el entero almacenado, no solo la fecha.",[15,118,119],{},"Utiliza un entero más amplio o un tipo de fecha compatible en toda la cadena. Un entero de 32 bits sin signo tiene otro límite posterior, pero no resuelve las fechas negativas ni todas las restricciones de los protocolos.",[10,121,123],{"id":122},"separar-los-límites-técnicos","Separar los límites técnicos",[15,125,126,127,131],{},"El problema de 2038 afecta a ",[128,129,130],"strong",{},"segundos"," con signo de 32 bits. El límite de enteros exactos de JavaScript y el rango de fechas del navegador son problemas distintos. Los milisegundos, microsegundos y nanosegundos aumentan la magnitud del valor.",[15,133,134,135,139,140,144],{},"Consulta ",[102,136,138],{"href":137},"/es/guides/seconds-vs-milliseconds/","segundos y milisegundos",". El ",[102,141,143],{"href":142},"/es/batch-converter/","conversor por lotes"," ayuda a revisar un archivo de migración, pero no inspecciona ni cambia los tipos de tu sistema.",[10,146,148],{"id":147},"normas-y-documentación-técnica","Normas y documentación técnica",[150,151,152,161],"ul",{},[153,154,155],"li",{},[102,156,160],{"href":157,"rel":158},"https://man7.org/linux/man-pages/man2/time.2.html",[159],"nofollow","Linux time(2)",[153,162,163],{},[102,164,167],{"href":165,"rel":166},"https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-time-values-and-time-range",[159],"ECMAScript Date time range",{"title":169,"searchDepth":170,"depth":170,"links":171},"",2,[172,173,174,175,176,177,178,179],{"id":12,"depth":170,"text":13},{"id":25,"depth":170,"text":26},{"id":32,"depth":170,"text":33},{"id":39,"depth":170,"text":40},{"id":46,"depth":170,"text":47},{"id":112,"depth":170,"text":113},{"id":122,"depth":170,"text":123},{"id":147,"depth":170,"text":148},"Entiende por qué los segundos Unix con signo de 32 bits desbordan en enero de 2038, qué sistemas se ven afectados y cómo probarlos.","md","Guía / límites",null,"es",{},true,"guide","/es/guides/year-2038-problem",{"title":190,"description":191},"Problema del año 2038 — Límite del timestamp Unix","Entiende el límite del timestamp Unix con signo de 32 bits en 2038-01-19 y cómo lo evitan los sistemas de 64 bits.","es/guides/year-2038-problem","KAnRzAVzlEfIaSUbosp4rQkYyL2GZ3TTQZ5bGgvqgFI",1792032484504]