JMP15で日付形式を文字から数値に変換するためのヘルプが必要こんにちは、
私のExcelシートの日付形式は、2020年11月18日水曜日12:45:00 PMです。 JMP 15にインポートすると、文字として読み取られます。
- 日付を文字形式から数値連続形式(例:yyyy-mm-dd hh:mm)に変換する方法を教えてください。 参考までにJMPファイルを添付しました。
- インポート中に正しい(数値)日付形式を適用する方法はありますか?
前もって感謝します。
データ表Re:JMP15で日付形式を文字から数値に変換するのに助けが必要これがあなたが望むものを手に入れるための力ずくの方法です。完全なデータテーブルを添付しました。

If( Row() == 1,
monthList = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November",
"December"}
);
myDate = Date MDY(
Contains( monthList, Word( 2, :Name( "Current Date Format (character)" ), ", " ) ),
Num( Word( 3, :Name( "Current Date Format (character)" ), ", " ) ),
Num( Word( 4, :Name( "Current Date Format (character)" ), ", " ) )
);
If(
Word( -1, :Name( "Current Date Format (character)" ), ", " ) == "PM" & Num(
Word( 5, :Name( "Current Date Format (character)" ), ",: " )
) < 12,
myDate = myDate + Num( Word( 5, :Name( "Current Date Format (character)" ), ",: " ) ) * 3600 + 3600 * 12,
myDate = myDate + Num( Word( 5, :Name( "Current Date Format (character)" ), ",: " ) ) * 3600
);
myDate = myDate + Num( Word( 6, :Name( "Current Date Format (character)" ), ",: " ) ) * 60 + Num(
Word( 7, :Name( "Current Date Format (character)" ), ",: " )
);Re:JMP15で日付形式を文字から数値に変換するのに助けが必要正規表現を使用する別の可能性があります。おそらく最短の実装は、数式で追加のinformat()を使用する以下のバージョン2です。 日付文字列から情報を読み取ったら、それを数値の日付に変換する方法はたくさんあります。
Excelで日付が数値で示されている場合は、JMPが読み取れるようにExcelで形式を変更することをお勧めします。
正規表現は素晴らしいです、私はそれが大好きです!
Names Default To Here( 1 );
// AA for conversion of month
month_AA = Associative Array(
{"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"},
{"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"}
);
date_str = "Wednesday, November 18, 2020, 12:45:00 PM";
date_str = "Friday, November 20, 2020, 8:10:00 AM";
regex_str = "(\w+), (\w+) (\d+), (\d+), (\d+):(\d+):(\d+) (PM|AM)";
// 1st version generating a list and building string thereof
date_component_lst = Regex Match( date_str, regex_str );
date_component_lst[6] = char(num(date_component_lst[6]) + match(date_component_lst[9], "AM", 0, "PM", 12));
date_str1 = date_component_lst[5] || "-" || month_AA[date_component_lst[3]] || "-" || date_component_lst[4] || "T" || date_component_lst[6] || ":"
|| date_component_lst[7] || ":" || date_component_lst[8];
// 2nd version generating a string, to be used by "Parse Date ()" do directly convert it into a date
date_str2 = Regex( date_str, regex_str, "\3 \2 \4 \5:\6:\7 \8" );