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:98059 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

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.