更改系统时钟的命令行语句是什么?


Answers:


57

要从终端在Ubuntu中设置时间,可以使用以下命令:

须藤日期new_date_time_string

其中new_date_time_string必须遵循的格式MMDDhhmmyyyy.ss被描述如下:

  • MM 是两位数的月份,介于01到12之间
  • DD 是两位数字的日期,介于01和31之间,其中应用了根据月份和年份的常规规则
  • hh 是两位数的小时,使用24小时制,因此介于00到23之间
  • mm 是两位数分钟,介于00到59之间
  • yyyy是一年;它可以是两位数或四位数
  • ss是两位数秒。请注意.之前的时间ss

资料来源:通过命令行在Ubuntu中管理时间

因此,在特定情况下,您可以使用:

sudo date 010224311971.59

或者,您可以使用:

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

这正是您的要求。

来源:https://serverfault.com/a/338395/181186


字符串日期的实际格式是什么?
Abel Melquiades Callejo

这是否意味着精度只能限制为
Abel Melquiades Callejo

@AbelMelquiadesCallejo看到我的新编辑。
RaduRădeanu13年

1
有人可以解释吗?hh为00和23,但OP和这个答案之间显示它被设置为24
卡尔^ h

@CarlH很棒!查看新的修改
Abel Melquiades Callejo 2015年

16

简单的方法:

ntpdate -s ntp.ubuntu.com

更改时区:

dpkg-reconfigure tzdata

可能您需要sudo


4
我想知道哪个NTP服务器会将时间设置为1971年1月。
muru 2015年

您的服务器是否连接到互联网?请查看官方文档,网址
Ninecols

4

您可以使用该date命令来更改时间,并且需要sudo获得许可才能执行此操作。将日期设置为2014年6月27日,时间设置为1:17 AM的示例是:

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

3

由于systemd是在Ubuntu中引入的,因此正确的方法是:

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

例如

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

这也可以与eg一起使用sudo date --set="+2 hours",这正是我所需要的。
Emile Vrijdags

0

用于设置日期或时间的简短版本:

设置日期(将时间设置为0:0:0):

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

仅设置时间:

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

您可以在秒数中添加所需的“ .990”。

阅读手册页以获取有关date命令的更多选项和格式:

man date

注意:您可能还需要检查或设置硬件时钟。在这里阅读


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.