Quelle est l'instruction en ligne de commande pour changer l'horloge système?


50

Existe-t-il une telle commande pour changer la date et l'heure de l'horloge système?

Par exemple:

La date et l'heure actuelles sont January 1, 1970 22:30:59:980où 59 et 980 font référence aux secondes et millisecondes respectivement

Et je veux le changer en January 2, 1971 23:31:59:990

Y at-il une commande pour cela?


Juste au cas où quelqu'un voudrait changer le fuseau horaire. askubuntu.com/questions/3375/…
— nassim

Réponses:


57

Pour définir l'heure dans Ubuntu à partir du terminal, vous pouvez utiliser la commande suivante:

sudo date new_date_time_string

où new_date_time_stringdoit suivre le format MMDDhhmmyyyy.ssdécrit ci-dessous:

  • MM est un mois à deux chiffres, entre 01 et 12
  • DD est un jour à deux chiffres, entre 01 et 31, avec les règles habituelles pour les jours en fonction du mois et de l’année
  • hh est l’heure à deux chiffres, en utilisant la période de 24 heures pour qu’elle soit entre 00 et 23
  • mm est une minute à deux chiffres, entre 00 et 59
  • yyyyest l'année il peut être deux ou quatre chiffres
  • ssest deux secondes de chiffres. Notez la période .avant le ss.

Source: Gérer le temps dans Ubuntu via la ligne de commande .

Ainsi, dans votre cas particulier, vous pouvez utiliser:

sudo date 010224311971.59

Ou, vous pouvez utiliser:

sudo date --set="1971-01-02 23:31:59.990"  && date --rfc-3339=ns

ce qui est exactement ce que vous avez demandé.

Source: https://serverfault.com/a/338395/181186 .


quel est le format actuel de la date de la chaîne?
— Abel Melquiades Callejo

cela signifie-t-il que la précision ne peut être limitée qu'à quelques secondes ?
— Abel Melquiades Callejo

@AbelMelquiadesCallejo Voir mes nouvelles modifications.
— Radu Rădeanu

1
Quelqu'un pourrait-il expliquer? hhest compris entre 00 et 23, mais OP et cette réponse indiquent qu'il est défini sur 24.
— Carl H

@CarlH Bonne chance! Voir les nouvelles modifications
— Abel Melquiades Callejo


4

Vous pouvez utiliser la datecommande pour changer l'heure et vous aurez besoin de l' sudoautorisation pour le faire. un exemple pour définir la date au 27 juin 2014 et à 01h17 est:

sudo date --set "27 Jun 2014 1:17:00"

3

Depuis que systemd a été introduit dans Ubuntu, voici la bonne façon de procéder:

# timedatectl set-time "RFC 3339-compliant string"

par exemple

# timedatectl set-time "2002-10-02T10:00:00-05:00"
# timedatectl set-time "10:35"
# timedatectl set-time "+2 hours"

Cela fonctionne également avec, par exemple sudo date --set="+2 hours", ce qui est exactement ce dont j'avais besoin.
— Emile Vrijdags

0

Versions courtes pour régler la date ou l'heure uniquement:

Pour définir la date (définira l'heure sur 0: 0: 0):

date +%Y%m%d -s "19710102"

Pour régler l'heure uniquement:

date +%T -s "23:31:59"

Vous pouvez ajouter le ".990" souhaité aux secondes.

Lisez la page de manuel pour plus d'options et de formats concernant la commande de date:

man date

Remarque: vous pouvez également vouloir vérifier ou régler l'horloge matérielle. Lisez à ce sujet ici .


-3
sudo date --set="Mon Feb 16 08:49:56 IST 2015"

Ce serait la déclaration correcte dans UBUNTU 14.04.


1
Pour tout le monde dans le fuseau horaire IST uniquement? Est-ce que l'autre réponse ne fonctionne pas pour vous?
— Xen2050

La question ne nécessite pas de changer le fuseau horaire.
— Abel Melquiades Callejo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.