-3
votes

Comment puis-je stocker la date ISO dans MySQL

Je demande une API et j'ai reçu une date comme celle-ci: "2019-04-17T14: 04: 24.224-04: 00". Je suppose que c'est une date d'ISO. Comment puis-je stocker l'année, le mois et la journée sur une base de données MySQL? Je veux le format suivant "DD / mm / aaaa".


1 commentaires

Qu'est-ce que maintenant - stocker la date ISO ou stocker la représentation de la date créée à partir de la date ISO? Et quelle base de données de toute façon?


3 Réponses :


0
votes
date("d-m-Y", strtotime("2019-04-17T14:04:24.224-04:00"));
Just do this,

6 commentaires

Ne fais pas ça. MySQL préfère les dates ISO-8601 au format AAAA-MM-DD.


Vous avez raison, mais il l'a demandé dans un format spécifique, donc je l'ai donné dans ce format


La date de MySQL's ne gérera pas les valeurs ambiguënes telles que DD-MM-AAAAYY .


Puis rangez-le à Varchar. S'il veut le faire dans le format spécifique et stocké comme celui-ci, c'est la seule option ...


Je suggère deux choses ici: a) DD-MM-AAAAYY est une localisation qui ne signifie rien dans votre base de données et n'appartient pas à la base de données en premier lieu. B) que vous convertissez si / si nécessaire au format de localisation de l'utilisateur préfère. Peut-être qu'ils veulent mm-dd-aaaaayy ou mmm dd, aaaa , vous ne savez pas. C'est pourquoi vous enregistrez cela plus tard. Les dates ISO peuvent être indexées pour des gammes et calculées, ce format Oddball ne peut pas.


Je n'ai pas dit que je ne suis pas d'accord sur le fait que cela devrait être formaté dans Y-M-D, c'est comme ça que je le ferais personnellement car il est standard, alors changez simplement comment vous l'affichez à l'avant. Ce que je dis, c'est pour ce qu'il veut que c'est le seul moyen de l'accomplir. Tant qu'il ne modifie ni ne comparant pas les dates dans SQL, ce n'est pas un problème.



-1
votes

Essayez ceci! xxx


0 commentaires

1
votes

Les formats sont une préoccupation d'affichage, c'est-à-dire une fonction qui regarde les données , de sorte que vous ne le faites pas avant de savoir qui l'examine. Au point d'affichage, vous appliquez le format requis par les paramètres régionaux de l'utilisateur et vous ajustez assez souvent pour leur zone horaire locale.

date Type de colonne est exprimé dans format ISO-8601 comme vous l'avez, vous devriez donc être capable d'insérer qui moins tout après le "t".

SOI SOIT SOIT SOIT SOIT SORTIR AVANT L'INSERTION ET CELAIRE EST FIN.

On afficher Vous pouvez utiliser n'importe lequel des Fonctions de formatage de la date PHP Pour obtenir le format exact que vous voulez. Ceci est souvent spécifique aux paramètres régionaux.

Vous voudrez être sûr que le temps exprimé est dans la zone horaire correcte. Faites une conversion nécessaire pour l'obtenir dans la zone de droite avant de convertir à une date ou que vous trouverez peut-être une date incorrecte pendant plusieurs heures de la journée.

Généralement, vous devriez:

  • Store Dates sous forme de valeurs formatées ISO-8601 dans la date native de MySQL ou DateTime Les champs et convertissent des formats localisés comme dictés par les préférences de l'utilisateur.
  • Stockez toutes les valeurs de temps comme UTC et convertissez-la ou de l'heure locale comme dictée par les préférences de l'utilisateur.

0 commentaires