JMP 15で日付形式を文字から数値に変換するのに助けが必要やあ、
私の Excel シートの日付形式は、2020 年 11 月 18 日水曜日、午後 12:45:00 です。 JMP 15 にインポートすると、文字として読み込まれます。
- 日付を文字形式から数値連続形式 (yyyy-mm-dd hh:mm など) に変換する方法を教えてください。 参考までに JMP ファイルを添付します。
- インポート中に正しい (数値) 日付形式を適用する方法はありますか?
前もって感謝します。
データ表Re: JMP 15 で日付形式を文字から数値に変換するのに助けが必要です正規表現を使用する別の可能性があります。おそらく最短の実装は、式で追加の 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" );Re: JMP 15 で日付形式を文字から数値に変換するのに助けが必要ですこれは、あなたが望むものを手に入れるための強引な方法です。完全なデータ表を添付しました。

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)" ), ",: " )
);