Maison  >  Article  >  développement back-end  >  Que dois-je faire si l'heure des données affichée dans les appels php est tronquée ?

Que dois-je faire si l'heure des données affichée dans les appels php est tronquée ?

PHPz
PHPzoriginal
2023-04-11 09:11:28714parcourir

Ces dernières années, avec le développement rapide d'Internet et de la technologie informatique, divers langages de développement de sites Web font également leur apparition, et PHP (Hypertext Preprocessor), en tant que langage de programmation largement utilisé dans le domaine du développement Web, est devenu un langage préféré parmi les développeurs. Cependant, lors du processus d'utilisation de PHP pour développer un site Web, vous rencontrerez inévitablement certains problèmes. Cet article se concentrera sur le problème d'affichage de l'heure tronqué qui peut survenir lors de l'appel de données en PHP et fournira les solutions correspondantes.

PHP est un langage côté serveur qui est souvent utilisé pour traiter des données et des opérations interactives, il est donc nécessaire de traiter l'heure dans de nombreux projets, comme obtenir l'heure actuelle, convertir les horodatages en heure, etc. En PHP, la fonction date() est généralement utilisée pour obtenir l'heure actuelle. Cependant, lors de l'appel de données temporelles, vous constaterez parfois que l'affichage de l'heure est tronqué. Cela est dû au fait que les méthodes de codage temporel de PHP et MySQL sont incohérentes.

Pour résoudre ce problème, vous devez d'abord comprendre le concept de base du codage temporel. Dans MySQL, les types de données temporelles incluent DATE, TIME, DATETIME et TIMESTAMP. Parmi eux, le type DATE représente la date au format « AAAA-MM-JJ » ; le type TIME représente l'heure au format « HH:MM:SS » ; le type DATETIME représente l'heure et la date au format « HH:MM:SS » ; du type 'AAAA-MM-JJ HH:MM: SS' TIMESTAMP représente également la date et l'heure, mais son format est le format d'horodatage UNIX, c'est-à-dire le nombre de secondes entre minuit le 1er janvier 1970, heure de Greenwich, jusqu'à aujourd'hui, comme comme « 1526713521 ». En PHP, les fonctions couramment utilisées sont les suivantes :

  • time() : obtient l'horodatage actuel ;
  • date() : formate l'horodatage en date ;
  • strtotime() : convertit la date en horodatage.

Lorsque les méthodes de codage temporel de MySQL et PHP sont incohérentes, cela peut entraîner un affichage tronqué de l'heure. Par conséquent, il est nécessaire d’effectuer une conversion de codage temporel correspondante en fonction des besoins réels.

La solution spécifique est la suivante :

  1. Dans MySQL, définissez le format de stockage du champ d'heure sur « AAAA-MM-JJ HH:MM:SS ». De cette façon, lors de l'interrogation, la chaîne temporelle extraite de la base de données n'a pas besoin d'être formatée, car son format répond déjà aux exigences temporelles de PHP.
  2. En PHP, utilisez la fonction strtotime() pour convertir la chaîne d'heure en un horodatage, puis utilisez la fonction date() pour formater l'horodatage au format d'heure requis. Par exemple, pour convertir le type DATETIME dans MySQL au format d'heure en PHP, vous pouvez utiliser le code suivant :

$datetime = '2018-05-19 12:30:45';
$timestamp = strtotime($ datetime);
$time = date('Y année m mois j jour H:i:s', $timestamp);

Parmi eux, $datetime est la chaîne d'heure dans MySQL, $timestamp est l'horodatage et $time est après le temps de formatage.

  1. Si vous lisez le champ d'heure directement à partir de MySQL et que vous le publiez, vous pouvez également effectuer une conversion de jeu de caractères lors de la lecture des données. Lors de l'interrogation de données MySQL, vous pouvez utiliser l'instruction setcharset pour définir le jeu de caractères, par exemple :

$db = new mysqli($host, $user, $password, $database);
$stmt = $db-> ;prepare( "SELECT CONVERT(content USING utf8) as content, time FROM news;");
$stmt->execute();

Dans cette instruction, la fonction CONVERT est utilisée pour convertir le champ de contenu par défaut encodage dans la base de données en encodage UTF-8.

En bref, le problème des caractères tronqués lors de l'appel de données temporelles en PHP est essentiellement dû au fait que les méthodes de codage temporel de PHP et MySQL sont incohérentes, le format des données doit donc être converti et transcodé. Utiliser la méthode ci-dessus peut résoudre efficacement ce problème et garantir que l'affichage de l'heure est normal.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn