web-dev-qa-db-fra.com

Comment convertir un horodatage d'époque Unix en une date/heure lisible par l'homme dans Excel?

J'ai des documents Excel contenant des horodatages Unix Epoch à partir d'une application Java. J'aimerais voir ce qu'ils traduisent et les représenter sous forme de dates lisibles par l'homme dans Excel.

Par exemple, la longueur suivante: 1362161251894 devrait correspondre à quelque chose de lisible tel que: 01 mars 2013 11: 07: 31 894

Je suppose que je peux créer une formule pour cela, mais je ne sais pas comment. Merci!

39
Bryce

Oui, vous pouvez créer une formule pour le faire pour vous. Java et Unix/Linux comptent le nombre de millisecondes écoulées depuis le 1/1/1970, tandis que Microsoft Excel le fait à partir du 1/1/1900 pour Windows et du 1/1/1904 pour Mac OS X. convertir:

Pour l'heure GMT sous Windows

=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))

Pour l'heure GMT sur Mac OS X

=((x/1000)/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))

Pour l'heure locale sous Windows (remplace t par votre décalage actuel par rapport à GMT)

=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))

Pour l'heure locale sur Mac OS X (remplace t par votre décalage actuel par rapport à GMT)

=(((x/1000)-(t*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1904"))

Dans votre cas particulier, il semble que vous vous trouviez dans une heure avancée des Rocheuses (décalage GMT de 7 ). Donc, si je colle votre valeur donnée de 1362161251894 dans une nouvelle feuille de calcul Excel dans la cellule A1, puis collez la formule suivante, le résultat obtenu est 41333.46356; 1 sur la cellule) est: 28/02/13 11:07

=(((A1/1000)-(7*3600))/86400)+(DATEVALUE("1-1-1970") - DATEVALUE("1-1-1900"))
43
11101101b

Cela semble être répondu ici

= (A1/86400) +25569

20
Freiheit

L’époque était indiquée en millisecondes (1523060201838) . L’utilisateur cherche à convertir le fuseau horaire de New York ( GMT -04: 00 ou DST -14400 ).

La cellule A1 sur Excel a la valeur à 13 chiffres Epoch time.

((A1/1000)-14400)/86400 + 25569

convertit en 4/6/18 8:16 PM (après avoir formaté la cellule en tant que Date).

3
brennan4u

J'ai trouvé que les formules les plus faciles à retenir et à lire sont les suivantes:

Convertissez l’horodatage Unix/Epoch en date dans Excel (en supposant que l’horodatage soit en A2):

=(A2/86400)+DATE(1970,1,1)

Cela générera la valeur de temps Excel GMT. Vous devez ensuite définir le format de la cellule sur l’un des formats de date ou créer votre propre format personnalisé. J'ai tendance à utiliser soit:

dd-mmm-yy                --> gives 05-Oct-18
dd-mmm-yyyy hh:mm:ss     --> gives 05-Oct-2018 09:45:12

Conversion de la date en horodatage de la période (en supposant que la date est en A2):

=(A2-DATE(1970,1,1))*86400

J'ai trouvé cette page très utile: Extendoffice Excel-timestamp-to-date

Remarque: Si vous devez vous adapter à l'heure locale à partir de l'heure GMT (New York, par exemple), ajoutez la différence à la fin. Ce qui suit montre un décalage de -5 heures.

=(A2/86400)+DATE(1970,1,1)+(-5/24)
0
Traveler_3994

Excel exprime les jours en valeurs entières et les heures en valeurs fractionnelles. Par conséquent, si le temps d’époque était indiqué en millisecondes depuis le 1-1-1970 à partir d’UNIX, nous souhaitons diviser par le nombre de millisecondes d’une année et ajouter la représentation d’Ex 1-1-1970 par Excel heure UTC lisible. Si votre valeur est dans la cellule A1, Excel aurait alors besoin de:

=A1/86400/1000+DATEVALUE("1-1-1970")

Notez que vous pouvez supprimer le/1000 si votre époque était en secondes plutôt qu'en millisecondes. Pour convertir en heure locale, où 't' est votre décalage UTC local (n'oubliez pas d'utiliser une valeur négative si vous avez un décalage UTC négatif), vous pouvez ajouter/soustraire le décalage UTC:

=A1/86400/1000+DATEVALUE("1-1-1970")+t/24

Notez que votre décalage UTC peut varier en fonction du respect de l'heure d'été dans votre pays, ce qui en fait une solution incomplète pour l'affichage des heures locales tout au long de l'année dans un seul tableur.

0
mysteryegg