SHELL Transformer timestamp en date

Résolu
tlep Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -  
prince_ganesh Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

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

Apparemment non ?

Merci !
A voir également:

14 réponses

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

Par exemple:

host:# date -d @1320310698.194
jeudi 3 novembre 2011, 09:58:18 (UTC+0100)
3
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
Giants
 
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
Giants
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tlep Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   118
 
Merci

:-))
0
Giants
 
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

man date
date -d 2005-20-01 +"%s"
;-))
0
Giants
 
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
Charger et compiler GNU date pour avoir les commandes avec options linux sur n'importe quel Unix:

http://www.gnu.org/software/coreutils/
0
Giants
 
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
En regardant le "man date" d'AIX, peux-tu essayer ça s'il te plaît :
date  200114362005; date +"%s"
;-))
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
Giants
 
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
Giants
 
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Dans le paquet shellutils peut être...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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