Câu lệnh dòng để thay đổi đồng hồ hệ thống là gì?


50

Có lệnh như vậy để thay đổi ngày và giờ của đồng hồ hệ thống không?

Ví dụ:

Ngày và giờ hiện tại là January 1, 1970 22:30:59:980nơi 59980 đề cập đến giâymillisecods tương ứng

Và tôi muốn đổi nó thành January 2, 1971 23:31:59:990

Có một lệnh cho điều này?


Chỉ trong trường hợp ai đó quan tâm đến việc thay đổi múi giờ. Askubfox.com/questions/3375/ trên
nassim

Câu trả lời:


57

Để đặt thời gian trong Ubuntu từ thiết bị đầu cuối, bạn có thể sử dụng lệnh sau:

ngày sudo new_date_time_opes

nơi new_date_time_stringphải tuân theo định dạng MMDDhhmmyyyy.ssđược mô tả dưới đây:

  • MM là một tháng có hai chữ số, từ 01 đến 12
  • DD là một ngày gồm hai chữ số, từ 01 đến 31, với các quy tắc thông thường cho các ngày theo tháng và năm áp dụng
  • hh là hai chữ số giờ, sử dụng khoảng thời gian 24 giờ nên nằm trong khoảng từ 00 đến 23
  • mm là hai chữ số phút, từ 00 đến 59
  • yyyylà năm; nó có thể là hai chữ số hoặc bốn chữ số
  • sslà hai chữ số giây. Lưu ý khoảng thời gian .trước ss.

Nguồn: Quản lý thời gian trong Ubuntu thông qua dòng lệnh .

Vì vậy, trong trường hợp cụ thể của bạn, bạn có thể sử dụng:

sudo date 010224311971.59

Hoặc, bạn có thể sử dụng:

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

đó chính xác là những gì bạn yêu cầu.

Nguồn: https://serverfault.com/a/338395/181186 .


định dạng thực tế của ngày chuỗi là gì?
Abel Melquiades Callejo

điều đó có nghĩa là độ chính xác chỉ có thể giới hạn trong vài giây ?
Abel Melquiades Callejo

@AbelMelquiadesCallejo Xem các chỉnh sửa mới của tôi.
Radu Rădeanu

1
Ai đó có thể giải thích? hhtrong khoảng từ 00 đến 23, nhưng OP và câu trả lời này cho thấy nó được đặt thành 24.
Carl H

@CarlH Tuyệt vời bắt được điều đó! Xem các chỉnh sửa mới
Abel Melquiades Callejo

16

Cách dễ dàng:

ntpdate -s ntp.ubuntu.com

Để thay đổi múi giờ:

dpkg-reconfigure tzdata

Có lẽ bạn cần sudo.


4
Máy chủ NTP nào sẽ đặt thời gian đến tháng 1 năm 1971, tôi tự hỏi.
muru

Máy chủ của bạn có kết nối với internet không? Kiểm tra tài liệu chính thức tại help.ubuntu.com/lts/serverguide/NTP.html
Ninecols

4

Bạn có thể sử dụng datelệnh để thay đổi thời gian và bạn sẽ cần sự sudocho phép để làm điều đó; một ví dụ để đặt ngày là 27 tháng 6 năm 2014 và thời gian là 1:17 sáng là:

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

3

Vì systemd đã được giới thiệu trong Ubuntu, nên cách chính xác là:

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

ví dụ

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

Điều này cũng hoạt động với ví dụ sudo date --set="+2 hours", đó chính xác là những gì tôi cần.
Emile Vrijdags

0

Các phiên bản ngắn để chỉ cài đặt ngày hoặc giờ:

Để đặt ngày (sẽ đặt thời gian thành 0: 0: 0):

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

Để chỉ đặt thời gian:

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

Bạn có thể thêm ".990" mong muốn vào giây.

Đọc trang man để biết thêm các tùy chọn và định dạng liên quan đến lệnh date:

man date

Lưu ý: bạn cũng có thể muốn kiểm tra hoặc đặt đồng hồ phần cứng. Đọc về nó ở đây .


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

Đó sẽ là tuyên bố chính xác trong UBUNTU 14.04.


1
Chỉ dành cho tất cả mọi người trong múi giờ IST? Có câu trả lời khác không làm việc cho bạn?
Xen2050

Câu hỏi không yêu cầu thay đổi múi giờ.
Abel Melquiades Callejo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.