Horodatage Unix à la date et à l'heure réelles<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'extrais des données d'une base de données et cela constitue en partie une "heure de début" pour un processus. Le principal problème avec ceci est qu'il est au format UNIX et renvoie donc un nombre à 10 chiffres, je sais que la formule pour le convertir en date et heure réelles est la suivante
(extrait d'Excel)
=CELLULE/(60*60*24)+"1/1/1970"
donc changer une colonne dans JMP devrait être simple mais je n'arrive pas à le faire. Le (60*60*24) est simple, mais sur quel format dois-je définir le +"1/1/1970" pour que cela fonctionne ?
J'ai joint un tableau de données contenant quelques dates des 6 dernières années à titre d'exemple. Mon sentiment est que cela a peut-être déjà été demandé, mais je ne vois rien qui s'y rapporte.
Salutations
David
Re : Horodatage Unix vers la date et l'heure réellesSalut @Jeff_Perkinson ,
quelque chose comme Conversion de fuseau horaire .
La vidéo dans @jthi Le message de montre des ordres plus élevés de problèmes, mais même pour une conversion "simple" de l'UTC vers l'heure d'été/hiver allemande, une fonction JSL pourrait gagner beaucoup de temps.
Re : Horodatage Unix vers la date et l'heure réellesIl n'y a rien de intégré mais il s'agit généralement simplement d'ajouter/soustraire des heures (en secondes) à une heure.
Quelle aide avez-vous besoin?
Re : Horodatage Unix vers la date et l'heure réelles
@jthi a écrit:
... J'espère que vous n'aurez pas à toucher aux fuseaux horaires
et si je dois le faire, Jmp peut-il m'aider ?
Re : Horodatage Unix vers la date et l'heure réellesMerci!
Re : Horodatage Unix vers la date et l'heure réellesJe pense que cela devrait suffire si vous supprimez l'heure zéro Unix de la date/heure de JMP, car les deux sont en secondes. J'espère que vous n'aurez pas à toucher aux fuseaux horaires ( Le problème avec l'heure et les fuseaux horaires - Computerphile (youtube.com) )
Names Default To Here(1);
unix_zero = Date MDY(1,1,1970);
date_now = Today();
unix_time = date_now - unix_zero;
// In Hours() might be helpful if you need timezone conversion
// just to verify that time is correct I'm using Unix Timestamp converter REST API from https://unixtime.co.za/
aa = Associative Array();
aa["timestamp"] = unix_time;
request = New HTTP Request(
URL("https://showcase.api.linx.twenty57.net/UnixTime/fromunix"),
Method("GET"),
Query String(aa)
);
data = request << send;
Show(As Date(date_now));
show(data);
Re : Horodatage Unix vers la date et l'heure réellesMa question est exactement le contraire : comment convertir le temps réel en horodatage Unix ?
Re : Horodatage Unix vers la date et l'heure réellesOuais... je savais qu'il me manquait quelque chose mdr. Merci!
Re : Horodatage Unix vers la date et l'heure réellesVous avez cliqué sur "Date" pour la sélection du format à choisir. Sélectionnez "Heure" et il vous donnera tous les formats Date/HeureRe : Horodatage Unix vers la date et l'heure réellesSalut Bill,
Je sais que ce message date d'il y a toujours, mais j'essaie de faire la même chose et j'échoue. J'ai la formule et toutes ces entrées dans la nouvelle colonne, mais je ne trouve pas l'option permettant de sélectionner m/d/yh:m:s pour la convention de date. Je n'ai que la possibilité de sélectionner les nombreuses variantes de m/d/y. Y a-t-il quelque chose qui me manque pour que l'heure soit incluse dans la sortie de date ? Merci.


@Bill_Worley a écrit:
Un autre ajout : j'ai parlé avec Jeff hors ligne et il a fait valoir un très bon point.N'utilisez pas la chaîne de caractères "MDYHMS" si vous souhaitez faire des calculs avec vos horodatages.Utilisez Column Info pour formater vos nouvelles heures sous forme de données continues.

Re : Horodatage Unix vers la date et l'heure réellesJeff/Bill,
J'ai remarqué que c'était également en secondes, mais j'ai utilisé le formatage disponible pour le transformer en heure « appropriée ».
Merci encore.
David
Re : Horodatage Unix vers la date et l'heure réellesJeff,
J'avais remarqué que le 4 janvier 1904 apparaissait à plusieurs reprises et je pensais que c'était une erreur de formatage ou de calcul que j'avais commise, cela n'a fait qu'ajouter à ma confusion quant à la raison pour laquelle je n'arrivais pas à faire fonctionner cette conversion de date.
Merci pour votre aide
David
Re : Horodatage Unix vers la date et l'heure réellesUn autre ajout : j'ai parlé avec Jeff hors ligne et il a fait valoir un très bon point.N'utilisez pas la chaîne de caractères "MDYHMS" si vous souhaitez faire des calculs avec vos horodatages.Utilisez Column Info pour formater vos nouvelles heures sous forme de données continues.

Re : Horodatage Unix vers la date et l'heure réellesJuste un ajout au message de Jeff.Lorsque j'ai utilisé sa formule, j'ai récupéré le nombre de secondes.J'ai ajouté le format MDYHMS à la formule pour obtenir la date et l'heure

Facture
Re : Horodatage Unix vers la date et l'heure réellesLa date UNIX est le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit.
JMP stocke les dates sous forme de nombre de secondes écoulées depuis le 1er janvier 1904 à minuit.
Il nous suffit donc d'ajouter la valeur de date JMP du 1er janvier 1970 à la valeur de date Unix. Vous pouvez utiliser la fonction Date DMY() pour faire ceci :

-Jeff
Re : Horodatage Unix vers la date et l'heure réellesessayez le 1er janvier 1970 sans guillemets.
format( 1jan1970+1445432452, "mdy")
"21/10/2015"
(C'est aujourd'hui, pour référence future.j'ai eu Epoch Converter - Convertisseur d'horodatage Unix pour me donner l'heure Unix pour aujourd'hui : 1445432452)
l'ajout du 1jan1970 fonctionne car l'heure Unix pour le 1jan1970 est nulle.Et parce que JMP et Unix comptent tous deux en secondes.
Attention, j'ai vu des discussions sur le début réel de l'ère Unix : Heure Unix — Wikipédia, l'encyclopédie gratuite dit
The first edition Unix Programmer's Manual dated 3 November 1971 defines the Unix time as "the time since 00:00:00, 1 January 1971, measured in sixtieths of a second".[5]The User Manual also commented that "the chronologically-minded user will note that 232 sixtieths of a second is only about 2.5 years". Because of this limited range, the epoch was redefined more than once,[citation needed] before the rate was changed to 1 Hz and the epoch was set to its present value of 1 January 1970 00:00:00 UTC. This yielded a range of about 136 years, though with more than half the range in the past (see discussion of signedness above).