Comment travailler avec les horodatages Unix dans Matlab?
J'ai certains fichiers de données avec des timestamps Unix (dans ce cas, le nombre de millisecondes depuis le 1er janvier 1970 00:00 UTC). Je voudrais le convertir en homme-friendly de la date/heure des chaînes de caractères (ex: 31-Aug-2012 11:36:24) dans Matlab. Est-il un moyen facile de faire cela dans Matlab, ou suis-je mieux d'utiliser une bibliothèque externe (par exemple, java.texte.SimpleDateFormat)?
source d'informationauteur robguinness
Vous devez vous connecter pour publier un commentaire.
Comment sur
si
unix_time
est donné en secondes,unix_time/86400
donnera le nombre de jours depuis Janv. 1er 1970. Ajoutez à cela le décalage utilisé par Matlabdatenum
(datenum(0000,1,1) == 1
), et vous avez le nombre de jours depuis Janv. 1er, 0000. Ceci peut être facilement converti en une forme lisible par Matlabdatestr
.Si vous avez millisecondes, il suffit d'utiliser
Enveloppé dans des fonctions, celles-ci seraient
Les nouvelles versions de MATLAB (vérifié dans R2015a) ont un type datetime qui est utile pour travailler avec et de formatage des dates et des heures. Vous pouvez convertir des timestamps UNIX en MATLAB datetime avec
et ensuite utiliser datestr comme avant pour la mise en forme comme une chaîne de caractères