web-dev-qa-db-fra.com

convertir une chaîne de texte au format date / heure

J'ai une colonne qui est au format texte comme 20110408_2041. Comment puis-je le formater au format date/heure?

17
roman_bull

En supposant que votre chaîne soit codée AAAAMMJJ_HHMM pour Année, Mois, Jour, Heure, Minute, vous pouvez créer une formule Excel pour générer une cellule au format date/heure.

Si la chaîne est dans la cellule A1, alors cette formule devrait le faire:

=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,10,2),RIGHT(A1,2),0)

Vous devrez formater la cellule correctement pour voir la partie heure. Ceci est testé dans LibreOffice calc, mais Excel semble avoir les mêmes fonctions.

19
W_Whalley

En supposant que le format entier est YYYYMMDD_HHMM et que la première de ces valeurs se trouve dans la cellule A1, vous pouvez utiliser la formule suivante dans B1:

=DATEVALUE(MID(A1,7,2) & "/" & MID(A1,5,2) & "/" & MID(A1,1,4)) + TIMEVALUE(MID(A1,10,2) & ":" & MID(A1,12,2))

Cela crée un numéro de série de date basé sur JJ/MM/AAAA en utilisant la fonction MID pour rassembler chaque partie et la fonction DATEVALUE pour renvoyer le numéro de série. Il ajoute ensuite à celui-ci le numéro de série de l'heure qui utilise la fonction MID de manière similaire pour rassembler les heures et les minutes.

Vous pouvez ensuite formater la cellule en tant que format Date, Format heure ou un format personnalisé de type jj/mm/aaaa hh: mm pour afficher le résultat final. Faites un clic droit sur la cellule, choisissez Format Cells puis configurez de la même manière que pour la capture d'écran ci-dessous:

Format cells dialogue

Voici une capture d'écran du résultat final:

Example

9
Gaff

J'ai eu le même problème et je n'ai fait qu'une chose simple: =R1*1 dans S1, avec le format sélectionné comme Time, et cela a fonctionné. Aucun code compliqué ou autre chose n'était nécessaire.

1
Selahudin Munawar