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