이 파일에는 4줄의 데이터가 있으며, 각 줄의 처음 8바이트는 연도, 월, 일 데이터입니다.
JSL을 사용하여 올바르게 표를 만드는 방법은 무엇입니까?

4행 시작 부분의 날짜와 시간은 다음과 같아야 합니다.
20230120 15:00
감사!
bb = Load Text File( "123.DAT", blob() );
z = Length( bb ) / 56;
For( k = 1, k <= z, k++,
a = Blob Peek( bb, (k - 1) * 56, 56 );
y = Blob To Matrix( a, "uint", 2, "little", 28 );
s = Blob To Matrix( a, "uint", 4, "little", 28 );
b = Blob To Matrix( a, "uint", 4, "little", 28 );
);
이미 수행한 작업에서 두 가지 큰 힌트를 얻었습니다. 실제 날짜와 코드입니다. time_t . Time_t는 유닉스입니다. epoch 변환기와 같은 도구를 사용해 보고 알고 있는 날짜를 입력해 보겠습니다.
the red number is what we wantthe red number is what we wantthe red number is what we want빨간 숫자는 우리가 원하는 것입니다
여기요! 그 숫자는 데이터 인스펙터에도 나타납니다! 그것은 int 32입니다! 즉, 다음과 같이 데이터를 로드할 수 있습니다.
za = Open( "z:/123.zip", zip );
blob = za << read( "123.dat", Format( blob ) );
dates = Blob To Matrix( blob, "int", 4, "little", 14 )[0, 1];
dates += 1jan1970;
For( i = 1, i <= 4, i += 1,
Show( i, As Date( dates[i] ) )
);
나는 = 1;
As Date(dates[i]) = 20Jan2023:06:56:00;
나는 = 2;
As Date(dates[i]) = 20Jan2023:06:57:00;
나는 = 3;
As Date(dates[i]) = 20Jan2023:06:58:00;
나는 = 4;
As Date(dates[i]) = 20Jan2023:07:00:00;
Unix 시대는 1970년 1월 1일(0)에 시작합니다. JMP 시대는 1904년 1월 1일(0)에 시작됩니다. JMP의 1Jan1970 값을 Unix 날짜에 추가하면 Unix 날짜가 JMP 날짜로 변환됩니다.
blob to matrix 호출은 행당 14개의 4바이트 숫자를 만듭니다. 아래 첨자 [0,1]은 0: 4행 모두 유지, 1: 각 행의 첫 번째 요소 유지를 의미합니다.
시대 변환기를 가지고 노는 동안 2038년에 몇 가지 날짜를 시도해 보십시오. 2038년은 Y2K와 같은 다음 두 이벤트의 해입니다. 예, 1년에 두 가지 문제가 있습니다. 첫 번째는 에포칼립스 2038년 1월 19일 03:14:07 UTC. 두 번째는 세 번째 GPS 주간 롤오버 , 아마 눈에 띄지 않을 것입니다. 세 번째 롤오버는 2038년 11월 20일에서 21일 사이에 발생합니다.