시간이 포함된 Informat(ParseDate) 함수안녕,
Informat 함수(또는 해당 별칭 ParseDate)에 대해 질문이 있습니다. 날짜 및 시간 정보가 포함된 문자열이 있고 JMP 15.2.0에서 날짜를 구문 분석하려고 합니다.
str="2022-10-22 16:25:37";
datetime= Informat( str, "yyyy-mm-dd HH:mm:ss" );
show(type(datetime));
show(datetime);
날짜 시간 설정(Win 10)에 따라 다른 종류의 출력이 출력됩니다.
지역 형식 영어(영국):
str = "2022-10-22 16:23:37";
유형(날짜/시간) = "날짜";
날짜 시간 = 22Oct2022:16:23:37;
또는 지역 형식 핀란드어(핀란드):
str = "2022-10-22 16:23:37";
유형(날짜/시간) = "숫자";
날짜 시간 = .;
시간을 파싱하는 기능도 있나요? 또는 이것이 어떻게 수행될 수 있는지에 대한 제안이 있습니까?
스크립팅창Re: 시간과 함께 Informat(ParseDate) 함수<< Use Locale() 을 사용하는 것이 도움이 되는지 확인하십시오.
JMP는 JMP16 이전에 시간(및 날짜) 관리에 상당히 서툴렀습니다. 나는 아마도 문자열을 년, 월, 일, 시, 분, 초로 구문 분석할 것입니다. 그런 다음 그것들을 합하여 date_time을 얻습니다. JMP16을 사용하면 대부분 형식 패턴을 사용할 수 있습니다.
아마도 이것은 몇 가지 아이디어를 줄 수 있습니다.
Names Default To Here(1);
str = "2022-10-22 16:25:37";
date = Word(1, str, " ");
time = Word(2, str, " ");
y = Num(Word(1, date, "-"));
m = Num(Word(2, date, "-"));
d = Num(Word(3, date, "-"));
time_separator = Left(Regex(Format(Today(), "h:m:s"), "\d", "", GLOBALREPLACE), 1);
hh = Num(Word(1, time, time_separator));
mm = Num(Word(2, time, time_separator));
ss = Num(Word(3, time, time_separator));
date_time = Date DMY(d, m, y) + hh * 60 * 60 + mm * 60 + ss;
AsDate(date_time);
Re: 시간과 함께 Informat(ParseDate) 함수문제를 처리하는 한 가지 방법은 다음과 같습니다.
str="2022-10-22 16:25:37";
datetime = datemdy(num(word(2,str," -:")),
num(word(3,str," -:")),
num(word(1,str," -:")) ) +
3600*num(word(4,str," -:")) +
60 * num(word(5,str," -:")) +
num(word(6,str," -:")
);
show(format(datetime,"m/d/y h:m:s"));
로그에 표시됩니다
Format(datetime, "m/d/y h:m:s") = "10/22/2022 4:25:37 PM";