Comment convertir une chaîne de date en valeur datetime
Salut tout le monde,
En utilisant JMP10, j'importe des données csv avec une date de chaîne comme aaaa-mm-jj-hh:mm:ss:SSSSS , exemple 2013-09-01-14:02:33:759000. Pour jmp c'est CHARACTER
Comment convertir ce format de date de chaîne en un datetime "réel" (NUMERIC) comme aaaa-mm-jj hh:mm:ss ou aaaa/mm/jj h:m:s ?
Merci
geof
Re : comment convertir la date de la chaîne en valeur datetime<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai résolu le problème.
Le format de votre chaîne était 2013-09-01-14:02:33:759000
Le mien est 2013-09-01-14.02.33.759000
Merci
Re : comment convertir la date de la chaîne en valeur datetimeSalut Michael,
J'ai exécuté votre script et il fonctionne bien
J'ai exécuté le script ci-dessous avec la colonne "Time" où se trouvent toutes les données.
Mais j'ai "." pour toutes les données 
Current DataTable();
New Column( "Column 3",
Numeric,
Continuous,
Format( "yyyy-mm-ddThh:mm:ss", 19, 0 ),
Input Format( "yyyy-mm-ddThh:mm:ss", 0 ),
Formula(
Parse Date(
Substr( :Time, 1, 10 ) || "T" || Substr( :Time, 12, 8 ) ||
"." || Substr( :Time, 21 )
)
)
)
Re : comment convertir la date de la chaîne en valeur datetimegéode :
Essayez d'ajouter une nouvelle colonne à votre table de type date/heure et placez-y vos valeurs converties à l'aide d'une formule.Voici un exemple:
New Table( "Time Example",
Add Rows( 1 ),
New Column( "Column 2",
Character,
Nominal,
Set Values( {"2013-09-01-14:02:33:759000"} )
),
New Column( "Column 3",
Numeric,
Continuous,
Format( "yyyy-mm-ddThh:mm:ss", 19, 0 ),
Input Format( "yyyy-mm-ddThh:mm:ss", 0 ),
Formula(
Parse Date(
Substr( :Column 2, 1, 10 ) || "T" || Substr( :Column 2, 12, 8 ) ||
"." || Substr( :Column 2, 21 )
)
)
)
)
Michel Haslam
Re : comment convertir la date de la chaîne en valeur datetimeSalut
Quand je lance le script, pas d'erreur, mais pas de changement dans les données ! ?
Re : comment convertir la date de la chaîne en valeur datetimeLe moyen le plus simple consiste probablement à convertir la date en quelque chose que JMP comprend comme ISO-8601 : aaaa-mm-jjThh:mm:ss.sss. Cette formule devrait le faire (en supposant que la source se trouve dans une colonne appelée "d") :
Parse Date( Substr( :d, 1, 10 ) || "T" || Substr( :d, 12, 8 ) || "." || Substr( :d, 21 ); );
JSL pour le bricolage interactif :
s = "2013-09-01-14:02:33:759000";
t = Substr( s, 1, 10 ) || "T" || Substr( s, 12, 8 ) || "." || Substr( s, 21 );
Parse Date( t );