Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.JMP16+가 있는 경우 형식 패턴으로 이 작업을 수행할 수 있습니다.

다른 패턴은 다음과 같습니다. -- . 및 기타 // ::
Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.짐,
이것을 어디에 두어야 합니까?
공식으로 해봤는데 안되네요
나는 이것을 "Set Format Pattern"(jthi의 제안과 같은)으로 입력하려고 시도했지만 한 줄 이상 입력할 수 없습니다.
저는 JMP16을 사용합니다.
감사해요
Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.JMP 16이 있는데 작동하지 않았습니다. 아래는 내 단계입니다. 틀린 부분은 지적해주시면 감사하겠습니다.
먼저 나는 (이전에 잊어 버린) 공식을
Date1.DateTimeFinalFormat = 날짜1.문자
Date1.DateTimeFinalFormat 날짜 유형/모델링을 숫자 및 연속으로 설정
형식을 형식 패턴으로 설정
"출력 형식 사용"을 선택 해제하십시오.
형식 패턴 설정
// ::
입력 측에서 형식 패턴 설정
-- .
오류가 발생한 대상:

Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.나는 또한 입력 측에서 HH를 hh로, AMPM을 ampm으로 변경했습니다.
어느 시점에서 형식을 수락한 다음 Date1.DateTime.FinalFormat 열을 다시 Character로 반환합니다.
Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.안녕 알투그,
나는 당신이 건강하기를 바랍니다-오랜만입니다!
나는 당신이 스크립팅으로 이것을하고 있다고 가정합니다. JMP는 기본적으로 다양한 날짜 및 시간 형식을 처리할 수 있습니다. 이럴 때 문자열을 시간으로 변환해주는 Informat( ) 함수가 좋습니다.
귀하의 날짜는 기본 형식에 매우 가깝습니다. 03-Mar-22 12.13 PM은 기본 형식이 아니지만 03/Mar/22 12:13 PM은 !
따라서 대시를 슬래시로( "-" 가 "/" 로), 마침표를 콜론으로( "." 가 ":" 로) 변경하기만 하면 됩니다.
대체( ) 명령으로 이 작업을 수행할 수 있습니다. 이 작업이 완료되면 Informat( )으로 래핑하여 숫자 날짜를 얻을 수 있습니다. 남은 것은 로케일 형식인 원하는 표시 형식을 적용하는 것입니다.
따라서 프로세스는 다음과 같은 새 열을 작성하는 것입니다.
a) 대체( ) 주위에 Informat( )을 감싸는 공식이 있고,
b) 아래에 숫자 날짜를 유지하면서 원하는 모양으로 출력 형식을 지정합니다.
이것이 어떻게 진행되는지 알려주세요.
브래디
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "FixedDate",
formula( Informat(
Substitute( :"date1.char"n,
"-", "/",
".", ":"
)
) ),
<<FORMAT></FORMAT>

Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.저는 JMP와 관련된 문제와 JMP가 날짜를 처리하는 방식( 그리고 특히 시간 ) 사용자가 PC에서 다른 설정을 가지고 있는 경우. JMP16+는 이를 조금 더 좋게 만들었지만 사용자가 다른 로컬 설정을 가지고 있는 경우 여전히 디버그하기가 매우 성가실 수 있습니다.
"가장 쉬운"(가장 강력한) 옵션은 항상 (제 생각에는) 상황에 따라 날짜/시간을 처음부터 빌드하는 것입니다. 날짜와 시간의 다른 부분을 가져온 다음 예를 들어 날짜 MDY + 시간 계산을 사용하여 JMP 날짜/시간을 얻습니다. JMP의 datetime이 있으면 필요에 따라 형식을 지정할 수 있습니다.
시행 착오를 거쳐 스크립트 편집기에서 올바른 패턴을 먼저 얻을 수도 있습니다.
Names Default To Here(1);
datetime_str = "03-Mar-22 12.13 PM";
show(datetime_str);
datetime = In Format(
datetime_str,
"Format Pattern",
"<DL><DD>-<MMM>-<YY> <HH>.<MM> <AMPM>"
);
show(datetime);
datestr = Format(datetime, "Format Pattern", "<MM>/</MM></AMPM></MM></HH></YY></MMM></DD><DD>/<YYYY> <HH>:<MM>:<SS> <AMPM>");
show(datestr);
// If I couldn't get Format Pattern fairly quickly, I would just give up and write my own
// parser. Something like this might work
datetime_str = "03-Mar-22 12.13 PM";
months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
date_str = Word(1, datetime_str);
time_str = Word(2, datetime_str);
ampm_str = Word(3, datetime_str);
day_str = Word(1, date_str, "-");
month_str = Word(2, date_str, "-");
year_str = Word(3, date_str, "-");
day_num = Num(day_str);
month_num = Contains(months, month_str);
year_num = 2000 + Num(year_str);
hour_str = Word(1, time_str, ".");
minute_str = Word(2, time_str, ".");
minute_num= Num(minute_str);
hour_num = Num(hour_str);
If(ampm_str == "AM",
if(hour_num == 12,
hour_num -= 12;
);
, ampm_str == "AM",
if(hour_num == 12,
hour_num = 12
,
hour_num += 12
)
);
date_datetime = Date DMY(day_num, month_num, year_num);
time_datetime = In Hours(hour_num) + In Minutes(minute_num);
final_datetime = date_datetime + time_datetime;
As Date(final_datetime);
<P> </P>
<P>날짜와 시간을 가지고 놀아야 한다면 나는 항상 ISO 형식 YYYY-MM-DD hh24:mm:ss로 가려고 노력할 것입니다.</P>
<P> </P></AMPM></SS></MM></HH></YYYY></DD></DL>Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.다음은 작동하는 것으로 보이는 형식입니다.
monList = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
Informat(
Char( Contains( monList, Word( 2, :Date1.Char, "-" ) ) ) || "/" || Word( 1, :Date1.Char, "-" ) || "/" || Word( 3, :Date1.Char, "-" ),
"m/d/y h:m"
);
위의 JSL은 데이터의 시간 영역의 마침표를 세미콜론으로 변경한 경우에만 작동합니다.
내 제안은 사용하는 것입니다 @brady_brady 아래 솔루션.
Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.브래디,
오랜만이네요 잘 지내고 계시길 바랍니다.
귀하의 기술 솔루션은 훌륭하게 작동했기 때문에 확실히 잘 작동합니다. 결국 너무 간단했습니다.
귀하의 지원에 다시 한 번 감사드립니다.
Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.귀하의 지원에 감사드립니다. 적어도 더 잘 배우기 위해 이것도 시도해 볼 것입니다.
다시 감사합니다
Re: 문자를 DateTime으로 변환하는 데 도움이 필요합니다.당신의 지원을 위한 thx txnelson
문자를 DateTime으로 변환하는 데 도움이 필요함안녕
샘플 단일 행 테이블을 첨부하고 있습니다.
Date1 열은 문자입니다.
예를 들어 03-3-22 오후 12:13
즉. DD-MMM-YY HH.MM 오전/오후
Date2에는 날짜/시간 형식이 있습니다.
원하는 형식의 DateTime으로 변환하려면 특히 Date1에 대한 공식이 필요합니다.
MM/DD/YYYY HH:MM:SS 오전/오후
(SS, 초는 자동으로 0이 됨)
내 목표는 2개의 비교 가능한 datetime 열을 사용할 수 있게 되면 두 번째 테이블(또는 조인)을 기반으로 테이블을 업데이트하는 것입니다.
참고: 몇 가지 시도를 해보았지만 지금까지 아무 것도 작동하지 않았습니다. 도움을 주셔서 감사합니다.
감사해요
품질 및 프로세스 엔지니어링