Ce fichier contient quatre lignes de données, et les huit premiers octets de chaque ligne sont les données de l'année, du mois et du jour
Comment créer correctement un tableau avec JSL ?

La date et l'heure au début de la ligne 4 doivent être :
20230120 15:00
Merci!
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 );
);
Vous avez deux gros indices dans le travail que vous avez déjà effectué : une date réelle et le code temps_t . Time_t est une chose Unix. Essayons un outil comme le convertisseur d'époque et insérez-y la date que vous connaissez :
the red number is what we wantthe red number is what we wantthe red number is what we wantle nombre rouge est ce que nous voulons
Hé! ce numéro apparaît également dans votre inspecteur de données ! C'est un int 32 ! Cela signifie que nous pouvons charger vos données comme ceci :
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] ) )
);
je = 1 ;
As Date(dates[i]) = 20Jan2023:06:56:00 ;
je = 2 ;
As Date(dates[i]) = 20Jan2023:06:57:00 ;
je = 3 ;
As Date(dates[i]) = 20Jan2023:06:58:00 ;
je = 4 ;
As Date(dates[i]) = 20Jan2023:07:00:00 ;
L'époque Unix commence le 1er janvier 1970, soit 0. L'époque JMP commence le 1er janvier 1904, soit 0. L'ajout de la valeur 1Jan1970 de JMP à une date Unix convertit la date Unix en une date JMP.
L'appel de blob à matrice fait 14 nombres de 4 octets par ligne ; l'indice [0,1] signifie 0 : conserver les 4 lignes et 1 : conserver le premier élément de chaque ligne.
Pendant que vous jouez avec le convertisseur d'époque, essayez quelques dates en 2038. 2038 est l'année des deux prochains événements de type Y2K. Oui, il y a deux numéros en un an. Le premier est le Épochalypse à 03:14:07 UTC le 19 janvier 2038. Le deuxième est le troisième Report de la semaine GPS , qui passera probablement inaperçu. Le troisième roulement aura lieu entre le 20 et le 21 novembre 2038.