Bogue de l'année 2038 : qu'est-ce que c'est et comment le résoudre
Qu'est-ce que le problème de l'année 2038 ?
Le problème de l'année 2038 affecte les logiciels et les systèmes qui stockent les dates sous forme de signatures 32 bits nombres entiers, représentant le nombre de secondes écoulées depuis 00:00:00 UTC le 1er janvier 1970. Lorsque le compteur dépasse sa valeur maximale (2 147 483 647) le 19 janvier 2038 à 03:14:07 UTC, il "boucle" pour un nombre négatif, entraînant un chronométrage incorrect.
Pourquoi et quand Se produire ?
Ce problème survient en raison de la capacité limitée d'un entier de 32 bits à représenter une large plage de dates. Lorsque le compteur atteint sa valeur maximale, il interprète le temps excédentaire comme une date du 13 décembre 1901.
Comment résoudre le problème de l'année 2038
Utilisez des types de données longs :
Mettez à niveau votre logiciel pour utiliser des types de données entiers 64 bits pour le stockage des dates, offrant ainsi une plage de temps considérablement étendue.
Solutions spécifiques à MySQL :
Alternatives à TIMESTAMP
Dans les bases de données, pensez à utiliser des types de données 64 bits (par exemple, long long dans GNU C) ou extension BCmath en PHP pour stocker les dates.
Atténuation des risques dans les applications existantes
Pour éviter les problèmes dans les applications existantes utilisant TIMESTAMP :
Cas d'utilisation potentiels
Même avant 2038, les systèmes stockant les dates futures (par exemple, les dates de naissance, les hypothèques à long terme) peuvent rencontrer des erreurs, car TIMESTAMP ne couvre que la plage 1970-2038.
Ressources pour plus d'informations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!