该文件有四行数据,每行的前八个字节分别是年、月、日数据
如何用 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 );
);
您已经完成的工作中有两个重要提示:实际日期和代码时间_t . Time_t 是 Unix 的东西。 让我们试试像纪元转换器这样的工具,并将你知道的日期推入其中:
the red number is what we wantthe red number is what we wantthe red number is what we want红色数字就是我们想要的
嘿!该数字也会出现在您的数据检查器中! 这是一个整数 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;
作为日期(日期[i])= 20Jan2023:06:56:00;
我 = 2;
作为日期(日期[i])= 20Jan2023:06:57:00;
我 = 3;
作为日期(日期[i])= 20Jan2023:06:58:00;
我 = 4;
作为日期(日期[i])= 20Jan2023:07:00:00;
Unix 纪元从 1Jan1970 开始,即 0。 JMP 纪元从 1Jan1904 开始,即 0。 将 JMP 的 1Jan1970 值添加到 Unix 日期会将 Unix 日期转换为 JMP 日期。
blob to matrix 调用每行生成 14 个 4 字节数字;下标 [0,1] 表示 0:保留所有 4 行和 1:保留每行的第一个元素。
当您使用纪元转换器时,尝试一些 2038 年的日期。2038 年是接下来两个类似 Y2K 事件的年份。 是的,一年有两个问题。 第一个是纪元2038 年 1 月 19 日世界标准时间 03:14:07。 第二个是第三个GPS 周翻转,这可能会被忽视。 第三次翻转将发生在 2038 年 11 月 20 日至 21 日之间。