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?

Abel Melquiades Callejo
la source
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 .

Radu Rădeanu
la source
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
16

Le moyen le plus simple:

ntpdate -s ntp.ubuntu.com

Pour changer le fuseau horaire:

dpkg-reconfigure tzdata

Vous avez probablement besoin sudo.

Ninecols
la source
4
Je me demande quel serveur NTP va définir l’heure à janvier 1971.
muru
Votre serveur est-il connecté à internet? Consultez la documentation officielle à l' adresse help.ubuntu.com/lts/serverguide/NTP.html
Ninecols
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"
aabhas
la source
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"
jojman
la source
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 .

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

Ce serait la déclaration correcte dans UBUNTU 14.04.

Soumya Kanti Naskar
la source
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