86 votes

Conversion de l'heure de l'époque Unix en date dans Google Sheets

J'ai une feuille avec une colonne de temps d'époque unix (en secondes) : 1500598288

Comment puis-je les convertir en dates normales ?

1 votes

Dans quel fuseau horaire la feuille affiche-t-elle cette date ? Cela dépend-il de l'utilisateur qui l'ouvre ?

146voto

ttarchala Points 435

Le moyen le plus simple, ne nécessitant aucune programmation JS, serait d'utiliser une formule, en divisant par 86400 secondes par jour et en ajoutant au 1er janvier 1970. Par exemple, la formule suivante donne le 21 juillet 2017 :

=1500598288/86400+date(1970,1,1)

Pour convertir une colonne entière de chiffres, il suffit d'utiliser ARRAYFORMULA :

=arrayformula(A:A/86400+date(1970,1,1))

2 votes

De plus, l'heure Unix est UTC (Coordinated Universal Time). Compte tenu de votre fuseau horaire, par exemple, je suis à San Francisco, ce serait

0 votes

Veuillez corriger la faute de frappe dans le nombre de secondes : productforums.google.com/d/msg/docs/cXhne_Ys_QU/un3q9nVR3qMJ

0 votes

Bonjour @lbrutti, à quoi faites-vous référence exactement ? Quelle est la faute de frappe ?

39voto

Mike Bjorge Points 567

Créer une fonction personnalisée en utilisant le javascript Fonction de date :

Outils > script... >

function FROM_UNIX_EPOCH(epoch_in_secs) {
  return new Date(epoch_in_secs * 1000);  // Convert to milliseconds
}

Et ensuite, dans une nouvelle colonne, vous pouvez faire =FROM_UNIX_EPOCH(A1)

7voto

Maintenant, 3 ans après le post original, vous pouvez faire...

Outils > script... >

function millisToDate(timeInMillis){
    var yourDateFromMillis = new Date(timeInMillis);
    return yourDateFromMillis;
}

et utiliser votre nouvelle fonction dans la cellule...

=millisToDate(cell here)

7voto

Saad Points 118

Ajouter ceci pour l'horodatage en DateTime (ajustement GMT) dans la cellule de google sheets

\=A1/86400+DATE(1970,1,1)+time(5,30,0)

0 votes

Simple et ça marche. merci !!!

3voto

emmby Points 35359

En vous basant sur la réponse acceptée, vous devrez utiliser FLOOR() si vous voulez pouvoir comparer les dates.

=FLOOR(1500598288/86400)+date(1970,1,1)

Sinon, "21/07/2017" dans une cellule pourrait ne pas être égal à "21/07/2017" dans une autre cellule.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X