문자열에서 JMP 날짜로 날짜 변환: AM/PM 대 24시간 시간 문제다음 시나리오를 고려하십시오.
MyDateStr = "2018년 2월 19일 오후 10시 4분 28초";
informat(MyDateStr, "m/d/yh:m:s");
그러면 JMP 로그에 올바른 날짜/시간 값( 19Feb2018:22:04:28 )이 반환됩니다. 내 컴퓨터의 날짜/시간 형식이 hh:mm:ss tt로 설정되어 있는 한 (즉, 12시간)
내 컴퓨터의 형식이 24시간( HH:mm:ss )으로 설정되어 있고 위의 코드를 실행하면 JMP에서 누락된 값을 제공합니다. 날짜를 올바르게 해석하지 못합니다. 끝에서 "PM"을 삭제하면 작동합니다.
24시간으로 설정된 컴퓨터에서 실행할 때 JMP가 12시간으로 지정된 날짜/시간 문자열을 올바르게 구문 분석하도록 하려면 어떻게 해야 합니까?
Re: 문자열에서 JMP 날짜로 날짜 변환 : AM/PM vs 24시간 시간 문제나는 그것이 1 라이너에서 할 수 없다고 결론지었습니다.
<< use Locale(0)은 내 컴퓨터에 영향을 미치지 않으며 컴퓨터가 12시간으로 설정되어 있지 않으면 여전히 AM/PM을 포함하는 타임스탬프를 해석하지 않습니다.
내가 찾은 비슷한 토론이 있습니다. 여기 .
내 결론은 내가 안정적으로 할 수있는 유일한 방법은 다음과 같습니다.
오전 오후 = substr ( TimeStampStr ,- 2 , 2 ) ;
TimeStampStr = 대리자 ( TimeStampStr , " 오전" , "" , "오후" , "" ) ;
성냥 ( 오전 오후 ,
"오전" , 노력하다 ( : 타임스탬프 = 알리다 ( TimeStampStr , "m/d/yh:m:s" )) ;
,
"오후" , 노력하다 ( : 타임스탬프 = 알리다 ( TimeStampStr , "m/d/yh:m:s" ) + InHours ( 12 ))
) ;
다소 사소한 작업을 수행하는 많은 코드이지만 작동합니다.
Re: 문자열에서 JMP 날짜로 날짜 변환 : AM/PM vs 24시간 시간 문제안녕,
이것은 "성모송" 형식의 응답입니다. Informat( MyDateStr ) 또는 이와 동등하게 사용하면 무엇을 얻을 수 있습니까?
구문 분석 날짜( MyDateStr ).
또한 책에서는 JMP 사용 장 열 정보 창 "로케일 날짜는 로컬 OS 설정에 따라 다릅니다."라고 표시됩니다.그리고 JSL 구문 참조 쇼
형식( x, "통화", "EUR", 20, <<로케일 사용(0)); // 컴퓨터 로케일 무시
InFormat() 및 Parse Date()는 세 번째 인수 <
그래서 내 "성모 마리아의 제안은 다음과 같습니다.
- Informat( MyDateStr )만 사용
- use Informat( MyDateStr, "m/d/yh:m:s", << Use Locale(0) );
- 문자열에서 열 만들기
스크립트를 참조하십시오.30/12/....를 적절하게 변환하는 Informat()의 힘을 보여줍니다. 그러나 적절한 변환(적어도 이전 방법)은 더 이상 작동하지 않습니다.작동하는 것을 찾으시기 바랍니다.
//------#6: Create a data table with a Character column of different date time formats
dtimeList={};
InsertInto( dtimeList, "JUN162010 2:59:13");
InsertInto( dtimeList, Format(AsDate(Today()), "yyyy-mm-ddThh:mm:ss"));
InsertInto( dtimeList,Format(AsDate(Today() - 3*34*60), "yyyy-mm-ddThh:mm"));
InsertInto( dtimeList,Format(AsDate(Today() + 12*34*60), "yyyy-mm-ddThh:mm"));
InsertInto( dtimeList, "12/01/2010");
InsertInto( dtimeList, "01/12/2010");
InsertInto( dtimeList, "30/12/2010 1:1:1");
test3_dt = New Table ("Test Datetime", new Column("dummy", character));
test3_dt << add rows( nitems(dtimelist));
test3_dt:dummy << set values (dtimeList);
//----run to here---------------------------------------------------------
//----Look at the data table...create a new column using Parse Date function
convCol = test3_dt << New Column( "Parsed dummy", Numeric, Continuous );
convCol << set each value (Informat(:dummy) );
convCol << Format("monddyyyy h:m:s");
wait(2);
convCol << Format("m/d/y h:m:s");
//---The code below worked in JMP 8 and 9 and 10 and maybe 11. It does not work in JMP 12, 13, 14
//Also, even though the column has mixed formats, by converting to numeric,
//continuous and specifying a datetime format, JMP automatically parses the dates
//:dummy << {data type( "Numeric"), Modeling Type("Continuous") };
//:dummy << Format("m/d/y h:m:s" );
Re: 문자열에서 날짜를 JMP 날짜로 변환: AM/PM 대 24시간 시간 문제심지어
<< Use Locale(0)
제게는 효과가 있었습니다. 설명서 어디에도 그런 내용이 없었습니다. 맙소사, 날짜/시간 변환이 너무 어렵네요!