Normalerweise manipulieren Sie dieses Datumsformat in Excel „2. Juni 2020 8:41:43 Uhr“, um JMP-freundlicher zu sein. Gibt es jedoch eine Methode, diese Aktivität innerhalb der Software abzuschließen?
Eine Möglichkeit wäre, eine Formel wie in der angehängten Datei in Spalte 2 zu erstellen.
Und wenn JMP14 über benutzerdefinierte Funktionen verfügt, können Sie diese verwenden: JMP15.0-Hilfe – Erstellen Sie benutzerdefinierte Funktionen, Transformationen und Formate
Danke Jarmo – wäre es möglich, mir zu zeigen, wie man eine solche Funktion in der Software implementiert?
Da ich im Moment keinen Zugriff auf JMP14 habe und mein Gebietsschema ein anderes ist (ich bin das 12-Stunden-Format nicht gewohnt und hatte ziemlich viele Probleme damit, wie JMP Datums- und Uhrzeitangaben verwaltet, insbesondere vor JMP16.1), Das Testen könnte für mich etwas knifflig sein. Je nachdem, wo Sie diese Funktionalität benötigen, können Sie eine Funktion/benutzerdefinierte Funktion erstellen oder sie einfach so verwenden, wie sie ist. Die Idee besteht darin, Ihre Zeichenfolge in einen Datum-Uhrzeit-Wert umzuwandeln, den JMP dann in das gewünschte Format konvertieren kann.
Sie müssen mit verschiedenen Eckfällen vorsichtig sein, die das Datum und die Uhrzeit durcheinander bringen können, und dies kann möglicherweise nicht alle verarbeiten oder Fehler enthalten:
Names Default To Here(1);
//Converts "Jun 2, 2020 12:41:43 PM" formatted string to JMP date-time
convert_str_to_date_time = function({str}, {Default Local},
//create month list to get month number based on index
months = {"Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
{month_str, day_str, year_str, time_str, ampm_str} = Words(str, ", ");
{hour_str, minute_str, second_str} = Words(time_str, ":");
//Date
year_num = Num(year_str);
month_num = Contains(months, month_str);
day_num = Num(day_str);
//Time
hour_num = Num(hour_str) + If(ampm_str == "PM", 12, 0); //will need to handle 24 -> 0...
If(hour_num >= 24,
hour_num = 0;
);
minute_num = Num(minute_str);
second_num = Num(second_str);
//date-time value
date_time_val = Date DMY(day_num, month_num, year_num) + In Hours(hour_num) + In Minutes(minute_num) + second_num;
return(date_time_val)
);
str1 = "Jun 2, 2020 8:41:43 AM";
str2 = "Jun 2, 2020 12:41:43 PM";
date_time = convert_str_to_date_time(str1); // As Date(date_time) = 02Jun2020:08:41:43;
Show(As Date(date_time));
date_time = convert_str_to_date_time(str2); // As Date(date_time) = 02Jun2020:00:41:43;
Show(As Date(date_time));
Danke für die schnelle Antwort, Jarmo! Leider verwende ich immer noch JMP 14, daher glaube ich nicht, dass ich diese Funktion habe.
Wenn Sie JMP16 verwenden, haben Sie je nach Ihren Gebietsschemaeinstellungen möglicherweise Glück mit Format Pattern:
