Convertir le texte de l'heure AM/PM au format 24h - pas de JSLSalut,
J'ai du mal à convertir des valeurs comme
20:49:46
10:30:46
de la colonne de caractères au format numérique h:m:s 24h.
Je souhaite exécuter la conversion sans JSL et sans dépendre du format d'heure du système d'exploitation.
Veuillez aider.
Salutations,
À M.
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLCette formule échoue pour certaines conditions :
Heure_1 : 16/06/2022 11:20:49 AM
Heure_2 : 16/06/2022 12:45:13 PM
Si nous considérons Time_1 nous gagnerons --> 16/06/2022 11:20:49
Cependant, si nous considérons Time_2, nous gagnerons --> 16/07/2022 00:45:13 (passage au mauvais jour).
Existe-t-il un moyen simple de convertir un horodatage tel que Time_1 ou Time_2 en un nombre continu au lieu d'une chaîne ?
cordialement Sven
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSL@tom_abramov ,
Vous avez une solution de @SP réponse.Cependant, soit nous avons des versions JMP très différentes, soit nous ne communiquons pas très bien, il s'agit donc d'une réponse pour info.
Votre capture d'écran montrait une modélisation nominale mais n'affichait que l'heure, 20:49:46. Si cette colonne était numérique, pas de caractère alors Informer() renverra un vide car son argument doit être une chaîne/un caractère.Il est donc important de spécifier si vos données sont numériques ou alphanumériques, et/ou de joindre un exemple de tableau de données.
Si votre colonne entrante est une colonne DateTime simplement formatée en tant qu'heure et qu'elle est numérique, je vous suggère de créer une nouvelle colonne à l'aide de la fonction/formule Heure de la journée (colonne 1) puis formatez cette nouvelle colonne en tant que Durée.Même lorsqu'une colonne est formatée comme juste l'heure, si je voulais trouver l'heure entre, disons, la ligne 1 et la ligne 2 et de la colonne DateTime juste formatée comme heure, elle inclurait le nombre de jours, les données sous-jacentes sont toujours datetime.
Dans le menu principal, sélectionnez Aide > Index des scripts > Fonctions > Date et heure. Il existe des exemples de scripts que vous pouvez exécuter pour voir comment fonctionne chaque fonction, que son argument soit une chaîne ou numérique.C'est un moyen facile d'en savoir plus. POUR VOTRE INFORMATION
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLMerci, c'est ok avec la formule.
Il n'y a probablement pas moyen sans formule...Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLC'est probablement le "PM" qui le fait échouer. Informer() devrait fonctionner si vous utilisez uniquement la partie heure de la chaîne, par exemple en utilisant le Gauche() fonction et conditionnellement correct pour AM/PM.
Essayez cette formule :
Informat(Left(:Column 1, 8), "h:m:s") + If(Contains(:Column 1, "AM"), 0, In Hours(12))
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLQuel est le type de données de la colonne 1 ? Je peux voir que le type de modélisation est nominal. Si la colonne 1 est numérique et nominale, Informat renvoie un empty().
Si la colonne est déjà numérique, changez simplement le format de la colonne 1 en durée.
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLMerci,
J'utilise JMP 14 Pro.
Obtient toujours des valeurs manquantes - voir la capture d'écran ci-jointe.
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLQuelle version de JMP utilisez-vous ? Il y avait une version où la conversion en place ne fonctionnait pas.
Je vous suggère de créer une nouvelle colonne et d'utiliser la fonction Informat( Trim(your_char_column), "h:m:s"). Cela devrait renvoyer des nombres, puis changer le format de cette colonne en Durée > hr:m:s. Le Garniture() supprimera les espaces et autres caractères non imprimables. J'espère que ça marche.
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLMerci, mais malheureusement, j'obtiens des valeurs manquantes après les changements que vous avez mentionnés...
Re : Convertir le texte de l'heure AM/PM au format 24h - pas de JSLSi votre colonne est composée de caractères, vous pouvez le faire en pointant un clic. Faites un clic droit sur la colonne et faites toutes ces étapes avant d'appuyer sur OK
- Sélectionnez Type de données > Numérique,
- Type de modélisation > Continu,
- Format > Durée > h:m:s
Si vous ne voulez pas risquer la colonne actuelle, créez une nouvelle colonne numérique et continue et utilisez la formule Informat( char_column, "hr:m:s"). Changez ensuite le format en Durée.