Différences entre les versions de « Date & Time »

De BlaxWiki
Aller à la navigationAller à la recherche
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
=== Time ===
=== Time ===
voir aussi cette [https://{{SERVERNAME}}/index.php/Time_%26_VM page]
<pre>
<pre>
Il existe 2 horloges :
Il existe 2 horloges :
Ligne 12 : Ligne 9 :


Linux a deux façons de gérer l'horloge :
Linux a deux façons de gérer l'horloge :
- Si l'horloge est à l'heure universelle (UTC), elle n'est pas modifiée lors d'un changement d'heure. Dans ce cas, Linux "corrige à la volée" pour que le user voit l'heure locale. C'est  
- Si l'horloge est à l'heure universelle (UTC), elle n'est pas modifiée lors d'un changement d'heure. Dans ce cas, Linux "corrige à la volée" pour que le user voit l'heure locale.
la façon normale de faire sur les Unix, mais pas Mac OS X.
C'est la façon normale de faire sur les Unix, mais pas Mac OS X.
- Si l'horloge est à l'heure locale (on indique dans quel fuseau horaire on se trouve), Linux l'affiche sans modification mais il doit la modifier à chaque changement d'heure.
- Si l'horloge est à l'heure locale (on indique dans quel fuseau horaire on se trouve), Linux l'affiche sans modification mais il doit la modifier à chaque changement d'heure.


Tape les commandes "date" et "date -u", si elles donnent des heures identiques, on est dans le 2ème cas (horloge est à l'heure locale). Sinon, tu es dans le premier.
Tape les commandes "date" et "date -u", si elles donnent des heures identiques, on est dans le 2ème cas (horloge est à l'heure locale). Sinon, tu es dans le premier.
Une fois que l'on a la bonne heure en locale, on va mettre à jour l'heure du bios en utc : hwclock --systohc –-utc
</pre>
* Correction de l'heure
<pre>
1. Contenu de /etc/sysconfig/clock
ZONE="Europe/Paris"
UTC=true # indique que la valeur lue dans l’horloge matérielle est le temps universel (dans ce cas l'horloge matériel doit être réglé en UTC)
2. /etc/localtime doit etre un lien symbolique vers /usr/share/zoneinfo/Europe/Paris
3. /etc/adjtime doit contenir UTC et non Local


Une fois que l'on a la bonne heure en locale, on va mettre à jour l'heure du bios en utc : hwclock --systohc –-utc
4. On tape date -u , si l'heure n'est pas la bonne (en UTC time), on met la bonne heure UTC en faisant : date -u $newdatime, puis on pousse la bonne heure UTC vers le bios : hwclock  
--systohc . On reboot et tout devrait etre bon
</pre>
</pre>



Version actuelle datée du 25 septembre 2013 à 14:05

Time[modifier]

Il existe 2 horloges :
 - horloge matériel (ou cmos, rtc)
 - horloge systeme

La valeur du compteur de l'horloge système est toujours interprétée en temps universel. Il est préférable que l'heure du bios soit réglée sur l heure UTC. Si on utilise une autre 
référence la gestion du changement d’heure hiver/été devient difficile. Si on y ajoute la gestion de machines virtuelles et la mise à jour via NTP ça devient un cauchemar.

Linux a deux façons de gérer l'horloge :
- Si l'horloge est à l'heure universelle (UTC), elle n'est pas modifiée lors d'un changement d'heure. Dans ce cas, Linux "corrige à la volée" pour que le user voit l'heure locale.
C'est la façon normale de faire sur les Unix, mais pas Mac OS X.
- Si l'horloge est à l'heure locale (on indique dans quel fuseau horaire on se trouve), Linux l'affiche sans modification mais il doit la modifier à chaque changement d'heure.

Tape les commandes "date" et "date -u", si elles donnent des heures identiques, on est dans le 2ème cas (horloge est à l'heure locale). Sinon, tu es dans le premier.
Une fois que l'on a la bonne heure en locale, on va mettre à jour l'heure du bios en utc : hwclock --systohc –-utc
  • Correction de l'heure
1. Contenu de /etc/sysconfig/clock
ZONE="Europe/Paris"
UTC=true # indique que la valeur lue dans l’horloge matérielle est le temps universel (dans ce cas l'horloge matériel doit être réglé en UTC)

2. /etc/localtime doit etre un lien symbolique vers /usr/share/zoneinfo/Europe/Paris

3. /etc/adjtime doit contenir UTC et non Local

4. On tape date -u , si l'heure n'est pas la bonne (en UTC time), on met la bonne heure UTC en faisant : date -u $newdatime, puis on pousse la bonne heure UTC vers le bios : hwclock 
--systohc . On reboot et tout devrait etre bon

Date[modifier]

  • Date to epoch / Date from start system
date -d "2003-08-10 00:30:23" '+%s'
voir le time stamp d un fichier : ls -l --time-style +%s

dans dmesg, souvent la date est donnée en seconde depuis depuis le démarrage du system
$ date -u -d @162971.420309
Thu Jan  1 17:29:31 UTC 1970
  • Différent format de date
DATE=`date "+%Y%m%d"`
benj@serveur:~$ echo $DATE
20120118

DATEOLD=`date --date='7 days ago' "+%d%m%Y"`
11012012

DATE=`date +%Y-%m-%d`
benj@serveur:~$ echo $DATE
2012-01-18

Pour ne pas avoir de date (jour ou mois) avec un 0 (1 au lieu de 01), il faut rajouter un "-" entre le % et le m ou d
benj@serveur:~$ DATE=`date +%Y-%m-%d`
benj@serveur:~$ echo $DATE
2012-01-18

benj@serveur:~$ DATE=`date +%Y-%-m-%d`
benj@serveur:~$ echo $DATE
2012-1-18

benj@serveur:~$ DATE=`date '+DATE: %m/%d/%y%nTIME:%H:%M:%S'`
benj@serveur:~$ echo $DATE
DATE: 01/18/12 TIME:12:06:06