SHELL Transformer timestamp en date

Résolu/Fermé
Signaler
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
-
Messages postés
1
Date d'inscription
jeudi 19 janvier 2012
Statut
Membre
Dernière intervention
19 janvier 2012
-
Bonjour,

Est-il possible de transformer un timestamp en date en shell ?

Apparemment non ?

Merci !

14 réponses

Messages postés
1
Date d'inscription
jeudi 19 janvier 2012
Statut
Membre
Dernière intervention
19 janvier 2012
3
date -d @<timestamp>

Par exemple:

host:# date -d @1320310698.194
jeudi 3 novembre 2011, 09:58:18 (UTC+0100)
3
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
Salut,

Comme disait la SNCF dans les années 80, "si c'est possible" :
 date -d "1970-01-01 UTC + 1164128484 seconds"
Tu peux changer le temps universel (UTC) par (CET) si besoin était ;-))
2
Dangereux comme commande ca !

date 200114362005 => je vais seter la date a cette valeur

extrait du man =>
....
2. To set the date and time, enter: date 0217142590
....
1
Salut,

en fait jai reglé le probleme plus facilement que prévus !
EN perl DEPUIS un shell, ca nous donnes :

# TimeStamp vers Date
# perl -e "print scalar(localtime(1173279767))"

et

# Date vers TimeStamp
perl -e "use POSIX ; print (mktime(10,45,11,31,4,107));"



plus d'information sur les valeurs necessaire au mktime
==>

# mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
#
# The month (mon), weekday (wday), and yearday (yday) begin at zero.
# The year (year) is given in years since 1900.
# Sunday is 0, not 1;
# January 1st is 0, not 1.
#
# I.e. January is 0, not 1;
# I.e. The year 1995 is 95; the year 2001 is 101.
# I.e. Calendar time for December 12, 1995, at 10:30 am : mktime( 0, 30, 10, 12, 11, 95 );
#
# Greenwich Mean Time (GMT)
# Daylight saving Time (DST)
# Coordinated Universal Time (CUT)
##################################




Voilou, j'suis content, j'affiche tous mes graphs a la date desiré
Me suis fait une petite interface simple en html qui pointe
vers un CGI (en faite en ksh) qui recupere les valeurs, les
format ent correctement grace a la commande perl mktime
et je graph le tout avec rddtool. En suis bien sur un affiche
simple des images <img src=....


Merci quand meme pour les réponses
+
1
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
Merci

:-))
0
Hug !

Et l'inversse ??

d'une date genre 2005-20-01 vers un timestamp
le tout toujours en shell (sh, ksh... au choix)

Thks
0
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
Salut,

man date
date -d 2005-20-01 +"%s"
;-))
0
Merci pour la reponse, mais pour etre exact ca serait
(dans le ca de local francais) :

date -d 2005-10-20 +"%s
et non
date -d 2005-20-01 +"%s


et cette commande ne fonctionne PAS sur unix (Aix)
(sur linux, pas de probleme)
Pour la simple et bonne raison qu'il n'y a pas de flag -D
d'ou ma question.
0
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
et cette commande ne fonctionne PAS sur unix (Aix)
Il eût fallu pour cela le signaler, n'étant point devin malheureusement, et malgré tous mes efforts pour changer cette situation...

;-DDD
0
Messages postés
18410
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
18 janvier 2022
5 533
Charger et compiler GNU date pour avoir les commandes avec options linux sur n'importe quel Unix:

http://www.gnu.org/software/coreutils/
0
et cette commande ne fonctionne PAS sur unix (Aix)
Il eût fallu pour cela le signaler, n'étant point devin malheureusement, et malgré tous mes efforts pour changer cette situation...

;-DDD


Tant pis, merci quand meme.


Charger et compiler quoi que ce soit sur une machine de prod n'est Hélas pas possible ;)

Je vais donner un appercus de la config ca sera plus simple :

Machine de production (pas de compilateur dessus)
Pas d'installation de logiciel possible dessus (c'est de la prod)
Aix 5.3 TL4 SP0


Merci
0
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
En regardant le "man date" d'AIX, peux-tu essayer ça s'il te plaît :
date  200114362005; date +"%s"
;-))
0
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
Oui c'est sûr, mais tu voulais une solution, en voilà une, après c'est à toi d'ajuster en fonction de tes besoins.

Et si tu faisais ça dans un environnement fils ?
(date  200114362005; date +"%s")
;-))
0
Hélas po possible.

Par contre, y'a d'autre solution sans passer par la commande DATE
exemple en perl :

#!/usr/bin/perl
use POSIX;

$sec = 0;
$min = 0;
$hour = 0;
$mday = 01;
$mon = 10;
$year = 105;
$wday = ?;
$yday = ?;
$timestamp = mktime($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,-1);
print ($timestamp);

ca ca marche plustot bien,
je sais qu'il existe aussi une commande sous php assez simple qui permet de passer tres simplement d'un timestanmp a une date et inverssement.

Le probleme c'est qu'en php... j'y connais rien
Ca vas se finir en cgi avec du perl cette histoire :)


Je sais pas trop si vous connaisser RRDTOOL
c'est un outils qui permet de generer des graphs (pour des stats)
J'affiche deja des stats sur le cpu, reseau et autre pour
1jour, 1semaine, 1mois, 1 année
Apres j'aurais bien voulu rajouter une petite page en
html ou php voir cgi qui permet via un calendrier de choisir
le jour ou l'on veux voir les stats.

d'ou ma question, date vers timestamp.
Avec le script perl la, je peux assez facilement faire un petit cgi
avec un menu deroulant pour laisser choisir la date, le mois, etc
par contre... niveau fin de mois... 29 30 ou 31
ca, je vois pas trop comment faire.
J'ai trouvé un petit script en php de calendrier qui gere justement
tout ca et me sort un jole a href=tutu.cgi?01202005

d'ou ma question initial pour convertir une date en timestamp
:)
0
Yup,

==>Charger et compiler GNU date pour avoir les commandes avec options linux sur n'importe quel Unix:
http://www.gnu.org/software/coreutils/


J'ai beau cherché, je n'ais pas reussi a trouver les sources de 'GNU DATE'
aurais tu un lien pas hazard ?
merci
0
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
Dans le paquet shellutils peut être...
0
Messages postés
18410
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
18 janvier 2022
5 533
C'est dans shellutils

Previously these utilities were offered as three individual sets of GNU utilities, Fileutils, Shellutils, and Textutils. Those three have been combined into a single set of utilities called Coreutils.
0