Formatage de l'heure JMPJe n'arrive pas à faire fonctionner le format d'heure.Selon le guide de script, le format "m/d/yh:m:s" est utilisé à la fois pour 12 heures et 24 heures... WTF ?Pourquoi voudrais-je qu'une fonction donne bon gré mal gré l'une ou l'autre réponse ?Comment puis-je faire fonctionner cela !
time = today(); //3619617166
formattedTime = format(time, "m/d/y h:m:s");
print(formattedTime); //"09/12/2018 5:12:46 PM"
//What I want: "09/12/2018 17:12:46"
Il y a des notes énigmatiques dans le Guide de script qui me donnent l'impression qu'il choisit 12 heures ou 24 heures en fonction des paramètres de votre ordinateur, ce qui est une très mauvaise idée car je ne veux pas que mon code soit interrompu sur la moitié des ordinateurs de mes utilisateurs.
Si le formatage ne fonctionne pas, existe-t-il une solution simple ?
Re : Formatage de l'heure JMPJe suis avec toi, Chris.La fonction JMP est idiote.Je ne devrais pas avoir à écrire un script juste pour changer un format d'heure de AM/PM à 24h.D'autres fils de discussion ont donné des formules pour cela, dont aucune n'a fonctionné.Il n'y a aucune raison pour laquelle il ne devrait pas s'agir d'un format JMP standard dans la liste déroulante. Cela fait 3 ans depuis votre message et toujours rien de JMP.
Re : Formatage de l'heure JMPMerci. J'ai déjà voté sur l'élément de la liste de souhaits. Je n'aime particulièrement aucun des formats de date par défaut, j'utiliserais donc certainement cette fonction si elle était disponible en tant que fonction intégrée.Maintenant que je sais ce qui est requis, j'ai dépassé la courbe d'apprentissage et je peux formater mes dates comme je le souhaite.Une flexibilité illimitée est utile.Mais si j’essayais d’expliquer tout cela à un utilisateur Excel non-programmeur, j’obtiendrais des regards vides.Cela semble excessivement compliqué quand Excel est capable d'accepter les formats de date "jj hh: mm" depuis au moins 1997.
Re : Formatage de l'heure JMPBonjour @Chris_Rodrigues ,
Vous pouvez jeter un œil à la fonction ci-dessous et, si vous l'aimez, voter pour l'idée sur le Liste de souhaits JMP ici .J'utilise quelque chose comme ça tout le temps et j'aimerais le voir disponible en tant que fonction intégrée.
Names default to here(1);
time = 3619617166;
pad = function( {x}, if(x < 10, "0" || char( x ), char( x )));
formatdatetime = function({time, pattern, prepend=""},
char(substitute(pattern,
prepend || "H", pad(hour(time, 24)),
prepend || "h", pad(hour(time, 12)),
prepend || "M", pad(minute(time)),
prepend || "S", pad(second(time)),
prepend || "m", pad(month(time)),
prepend || "d", pad(day(time)),
prepend || "y", char(year(time)),
prepend || "AP", char(if(hour(time)==24, "AM", if(hour(time, 24)>11,"PM","AM"))),
// the rest of the formatting options..Month name,
// short month name, hours without padding, etc
))
);
formatdatetime(time, "m/d/y h:M:S AP");
// 09/12/2018 05:12:46 PM
formatdatetime(time, "ymd_HMS");
// 20180912_171246
formatdatetime(time, "hour = %h, minute = %M", "%")
// hour = 05, minute = 12Re : Formatage de l'heure JMPSur mes graphiques, je voulais utiliser l'espace des étiquettes de l'axe X aussi efficacement que possible, donc je ne voulais pas d'éléments comme l'année, le nombre de secondes, etc. "Lun 18h00" est suffisant.Au début, je pensais que la fonction Format() serait capable de faire cela facilement, mais voici ce que j'ai fini par utiliser :
Names Default To Here( 1 );
pad = Function( {x}, If( x < 10, "0" || Char( x ), Char( x ) ) );
Char( Match( Day Of Week( :value ), 1, "Sun", 2, "Mon", 3, "Tue", 4, "Wed", 5, "Thu", 6, "Fri", 7, "Sat" ) ) || " " || pad( Hour( :value, 24 ) ) ||
":" || pad( Minute( :value ) );et voici le résultat :

Re : Formatage de l'heure JMPVeuillez également jeter un œil à Aide > Bibliothèque de documentation JMP > Guide de script et recherchez sur ' fonctions personnalisées .' Les informations commencent à la page 393 pour la version JMP 15.1. Ici vous trouverez également des transformations personnalisées et des formats personnalisés. Ces définitions peuvent ensuite également être utilisées de manière interactive dans l’interface utilisateur de JMP.
Re : Formatage de l'heure JMPJe viens de tenter de comprendre comment faire apparaître les formats de date comme je le souhaite sur mes graphiques.Je ne m'attendais pas à ce que ce soit aussi difficile.Je dois donc le construire caractère par caractère et lancer ma propre fonction pour remplir les heures/minutes/secondes avec des zéros non significatifs.Génial.Merci @ih pour le pourboire.
Re : Formatage de l'heure JMPJ'ai fini par ajouter ceci à la liste de souhaits JMP :
https://community.jmp.com/t5/JMP-Wish-List/JMP-Time-Formatting-12-v-24-hr-control/idi-p/74643#M336
Re : Formatage de l'heure JMPMerci @ih ; c'est un travail décent.Une remarque, je crois que vous devez mettre hour(time, 24) pour le forcer à 24 heures.Il semble que la valeur par défaut soit 24 heures, mais la documentation me donne l'impression qu'elle souhaite définir par défaut 12 heures.
//My update: (just slightly shorter)<BR /><BR />format(time, "m/d/y") || " " || pad(hour(time, 24)) || ":" || pad(minute(time)) || ":" || pad(second(time));
J'espère également qu'il existe une solution de chaîne de format personnalisable.S'il n'y a pas de meilleure réponse la semaine prochaine, j'ajouterai la demande à la liste de souhaits JMP.J'espère que quelqu'un de JMP pourra répondre.
Re : Formatage de l'heure JMPJe finis souvent par utiliser ce genre de chose :
names default to here(1);
time = 3619617166;
pad = function( {x}, if(x < 10, "0" || char( x ), char( x )));
pad(month(time)) || "/" || pad(day(time))|| "/" || char(year(time)) || " " ||
pad(hour(time)) || ":" || pad(minute(time)) || ":" || pad(second(time));
// "09/12/2018 17:12:46"+1 à la solution avec une chaîne de format personnalisable.
Re : Formatage de l'heure JMPVous pouvez utiliser le modèle de format pour modifier votre date et il s'agit probablement d'une solution JMP car l'élément de la liste de souhaits a été défini sur Livré.

Formats numériques (jmp.com)
Comment appliquer des formats de date (et de durée) personnalisés dans JMP ?