Comment convertir une chaîne....('20210228240000' ----> 2021-03-01T00:00:00)Les données doivent être enregistrées sous le nom « 20210301000000 », mais elles sont stockées sous le nom « 20210228240000 » dans SAP.
J'essaie d'utiliser la « fonction substr », mais les problèmes surviennent toujours à la fin du mois.
Enfin, comme « 2021-02-29 » est renvoyé, une erreur se produit dans JMP si la date n'existe pas.
Excel reconnaît automatiquement la date...[ = date(2021, 2, 29) ---> 2021-03-01 ]
Je pense... Tout d'abord, supprimez « 20210228 » de l'enregistrement, convertissez la date et ajoutez 1 jour (86 400 secondes) ????
Existe-t-il une fonction ou une méthode plus simple ?
Organisation du contenuAccès aux donnéesFusion et nettoyage des donnéesPlan d'expériencesIngénierie de la qualité et des procédésPartage et communication des résultatsRe: Comment convertir une chaîne....('20210228240000' ----> 2021-03-01T00:00:00)Je pense que vous devriez être d'accord avec le processus suivant :
- Extraire la date
- Convertir la date en secondes
- Extraire les heures, les minutes, les secondes et les convertir en secondes
- Combinez la date en secondes et l'heure en secondes
- Convertir les secondes au format souhaité
Un exemple:
Names Default To Here(1);
str_list = {
"20210228230000",
"20210228240000",
"20210301200000",
"20210301240000"
};
dates = Transform Each({str}, str_list,
y = Num(Left(str, 4));
m = Num(Substr(str, 5, 2));
d = Num(Substr(str, 7, 2));
hh = Num(Substr(str, 9, 2));
mm = Num(Substr(str, 11, 2));
ss = Num(Substr(str, 13, 2));
date_time = Date MDY(m, d, y) + In Hours(hh) + In Minutes(mm) + ss;
MDYHMS(date_time);
);<BR />//{"02.28.2021 23:00:00", "03.01.2021 0:00:00", "03.01.2021 20:00:00", "03.02.2021 0:00:00"}
Re: Comment convertir une chaîne....('20210228240000' ----> 2021-03-01T00:00:00)je pense @jthi est correct, mais testez soigneusement sur les bords. Certains des pires bugs que j'aie jamais traités étaient liés au temps.
- Le pire n'est arrivé qu'avant 10h du matin, mais nous ne le savions pas jusqu'à ce que quelqu'un arrive assez tôt pour l'attraper ! (Champ d'honneur à 9h00.)
- Ou peut-être était-ce celui qui n'arrivait que pendant les dernières secondes de chaque heure. Calcul similaire à celui suggéré ci-dessus, mais mal fait.
J'aime beaucoup la façon dont ma police d'assurance auto commence à 00h01 pour lever l'ambiguïté...
Re: Comment convertir une chaîne de caractères...('20210228240000' ----> 2021-03-01T00:00:00)Merci~jthi~~:)
J'ai résolu le problème en appliquant ceci.
Re: Comment convertir une chaîne....('20210228240000' ----> 2021-03-01T00:00:00)Je suis d’accord aussi, Craige_Hales !
mais je ne contrôle pas ce problème.
Heureusement, ce problème ne survient qu’à minuit.
Quoi qu'il en soit~~Merci merci beaucoup !