Comment obtenir la date et l'heure en utilisant l'interface de ligne de commande?

101

Comment puis-je obtenir la date et l'heure actuelles dans le terminal. Je démarre généralement mon système en mode texte (console) et j'ai besoin de la commande pour connaître la date et l'heure actuelles.

Sharad Gautam
la source

Réponses:

177

La datecommande vous montrera la date et l'heure.

man datevous montrera comment contrôler la sortie dans le format dont vous avez besoin, si vous voulez autre chose que la sortie standard. Par exemple:

date "+%H:%M:%S   %d/%m/%y"

affichera la date et l'heure au format 14:09:22 09/06/2015

Une version plus facile à lire de la page de manuel est disponible sur les pages de manuel Ubuntu.

Carl H
la source
7
+1 juste pour direman date
jshthornton
Comment puis-je obtenir la différence de fuseau horaire?
Ali D.
19

Heure comme invite de ligne de commande:

PS1="\@ \w$bk"

On dirait: 11h41 ~

Un petit amateur, entre parenthèses:

PS1="[ \@ \w$bk ]"

On dirait: [11:36 ~]

Ajoutez l'utilisateur et l'hôte local avec l'heure, le tout entre parenthèses:

PS1="[ \u on \h \@ \w$bk ]"

Ressemble à: [DrPete sur LittleSorrel 10:34 ~]

Réinitialiser l'invite à la valeur par défaut #: PS1="# "

Pour que l'invite soit disponible en permanence , ajoutez la ligne d'invite de votre choix, c'est-à-dire

export PS1="\@ \w$bk "

à ~ / .profile.

Vous ne pouvez pas vous en empêcher, nous roulons maintenant ... ajoutons des couleurs, définissez-les dans .profile pour les rendre plus faciles à configurer:

 # Install GNU coreutils
    bk="\[\033[0;38m\]" #means no background and white lines
    txtBlue="\[\033[0;34m\]"   #letter color blue
    txtRed="\[\033[0;31m\]"    #letter color red
    txtCyan="\[\033[1;36m\]"   #letter color cyan
    txtWhite="\[\033[1;37m\]"  #letter color white
    txtYellow="\[\033[1;33m\]" #letter color yellow

Ensuite, une invite de couleur superflue serait:

PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
DrPete
la source
très bonne réponse =) mais un peu court.
AB
Ma première réponse - maintenant que je ne suis plus vierge - développe de quelle manière, récit ou lien vers les informations de l'invite CLI?
drPete
Comment puis-je rendre ce permanent, par exemple.
AB
il suffit d'exporter @AB Clever Answer btw :)
Sharad Gautam le
1
Meilleure réponse = plus de votes positifs
AB
16

Il existe une liste de commandes utilisées pour l'heure et la date:

  1. La commande date

    $ date 
    Tue Jun  9 18:04:30 EEST 2015
    
  2. La commande zdumputilisait l'écho de l'heure dans un fuseau horaire spécifié.

    $ zdump EEST
    EEST  Tue Jun  9 15:05:17 2015 EEST
    
  3. horloge

    $ sudo hwclock
    Tue 09 Jun 2015 06:05:55 PM EEST  -0.656710 seconds
    
  4. horloge mais doit installer xview-clients

    sudo apt-get install xview-clients
    
  5. en utilisant la ntpdatecommande. ntpdateest utilisé pour régler l’heure du système mais l’utilisation de sans sudoaffiche simplement l’heure et la date.

    $ ntpdate
    
    26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
    
Maythux
la source
11

Avec Ubuntu 15.04 (systemd), il y a aussi timedatectlce qui vous montre le temps et vous permet de le changer et plus encore man timedatectl.

Sans argument cela donne

% timedatectl
Avertissement: Ignorer la variable TZ. Lecture du réglage du fuseau horaire du système uniquement.

      Heure locale: ke 2015-06-10 10:31:59 EEST
  Temps universel: ke 2015-06-10 07:31:59 UTC
        Heure RTC: ke 2015-06-10 07:31:59
       Fuseau horaire: Europe / Helsinki (EEST, +0300)
     NTP activé: oui
NTP synchronisé: oui
 RTC en zone TZ locale: non
      Heure d'été active: oui
 Dernier changement DST: DST a commencé à
                  su 2015-03-29 02:59:59 EET
                  su 2015-03-29 04:00:00 EEST
 Changement DST suivant: DST se termine (l’horloge avance d’une heure) à
                  su 2015-10-25 03:59:59 EEST
                  su 2015-10-25 03:00:00 EET

Et une autre fonctionnalité intéressante que j'ai utilisée est l' timedatectl set-ntp trueactivation du systemd-timesyncdclient inbuild SNTP (Simple Network Time Protocol) qui synchronise votre horloge avec un serveur distant.

Mikaela
la source
1
$ timedatectlfonctionne bien ici aussi sur Ubuntu 14.04.
Poignée de porte
8

Bien que toutes les réponses données ici soient correctes, vous devez utiliser la datecommande manuellement pour voir l'heure à tout moment, et la sortie sera mélangée à la sortie normale de votre commande. Ceci est généralement correct, mais parfois cela n’est pas pratique.

Vous pouvez ajouter la commande date à votre invite, qui affichera une horloge (fixe) chaque fois que le shell est prêt pour la commande, ou vous pouvez utiliser l'un des multiplexeurs de terminaux dotés d'une ligne d'état. Mon préféré (bien que je reconnaisse le plus ancien) est l’écran GNU.

En console ou dans un terminal, disons via ssh, si vous utilisez screen , parmi des zillions de choses différentes que vous pouvez faire (j’avais l'habitude de penser screenque c'était inévitable de travailler lorsque je n'avais qu'un terminal texte), vous avez l'option --- qui est normalement dans la configuration par défaut - d'avoir une horloge dans la ligne d'état:

Écran sur un terminal

(La capture d'écran est sur un terminal virtuel, mais c'est la même chose sur une console virtuelle).

Rmano
la source
1
Byobu (qui est basé autour de l'écran) le fait également de manière originale. Just FYI
Sergiy Kolodyazhnyy
4

Également affichera la date et l'heure:

sudo hwclock

Plus détaillé:

man hwclock
Joker
la source
Bref mais sympa!
Sharad Gautam
1

Il n'y avait aucune mention de python, alors je vais le jeter ici:

$ python -c 'import time;print(time.asctime(time.localtime()))'                                                                       
Tue Nov 29 20:25:27 2016

La façon dont cela fonctionne est assez simple:

  • nous importons le timemodule
  • localtime()fonction donne le structtype de données avec toutes les informations nécessaires, telles que l'heure, le jour, l'année, etc.
  • asctime() convertit toutes ces informations en chaîne, et nous l'imprimons bien formaté

Fonctionne à la fois en python 2 et 3.

Sergiy Kolodyazhnyy
la source
0

si vous cherchez sometting comme YYYYMMDDHHMMSS , 20160804020100 utiliser ceci:

date +%Y%m%d%H%M%S

il sert principalement à la sauvegarde de fichiers ou au filtrage de journaux.

informatiquefreak
la source
2
Bienvenue sur AskUbuntu. Bien que cette réponse tente de résoudre la question publiée, la solution a déjà été mentionnée dans la réponse par plusieurs autres utilisateurs. Personnellement, je ne trouve pas cette réponse utile. S'il vous plaît améliorer votre post
Sergiy Kolodyazhnyy
0

Si vous n'êtes pas sûr de la précision de l'horloge de votre système ou si vous souhaitez utiliser une source de temps externe, vous pouvez obtenir l'heure sur Internet. Pour une meilleure précision, vous pouvez utiliser sntp(installé par défaut sur MacOS et faisant partie des distributions ntp) pour obtenir la date:

sntp pool.ntp.org 

Si vous n’avez qu’un accès Internet à Internet, vous pouvez l’obtenir via HTTP à l’aide du protocole HTP disponible sur de nombreux systèmes, htpdatequi n’a généralement qu’une précision à la seconde près. Vous pouvez également y accéder à l’aide de TLS (qui extrait l’horodatage du fichier TLS). échange) tlsdatequi peut fournir une meilleure précision:

tlsdate -nV ntp.org
Pierz
la source