我应该如何在Ubuntu上更改日期和时间?

当我尝试更改日期和时间时,它就是无法工作。我试着解锁,但它就是无法解锁。如果有任何方法可以让它正常工作,请帮助一下。
我知道这个描述不够详细,但我真的会非常感激任何答案。

timedatectl set-ntp yes - Mohan Radhakrishnan
7个回答

man date

-s, --set=STRING
          set time described by STRING

要更改日期,请在终端中使用以下命令:
sudo date --set=STRING

例如,要将日期更改为2013年9月25日15:00,命令应该是这样的:
sudo date --set "25 Sep 2013 15:00:00"

每次系统重启后,它是否仍然有效?还是必须在每次重启后重新应用? - user25165
1是的,在系统重新启动后它会生效;您不需要每次都应用它。 - kern
系统重新启动后会自动选择当前日期。 - Naveen
如果在重新启动或电源循环后,日期显示完全错误,通常意味着主板上的电池出现问题。 - Andi Jay
5这似乎不再有效。使用Ubuntu 16.04 - Teekin
@Teekin 你应该提到你收到的错误。在17.10上运行正常。 - Chris Stryczynski
@ChrisStryczynski,抱歉,我应该提到,但没有错误信息。 - Teekin
1在16.04 LTS版本中,在“时间和日期”(系统设置)中,手动设置时间。如果不这样做,命令会被执行,但日期和时间不会改变。 - Rudy Vissers
它适用于18.04 LTS版本。 - Kadir Y.
1不起作用。通过sudo date --set=STRING设置日期,结果显示日期已更改,但实际上日期并未更改。 - Igor

试试这个:

sudo dpkg-reconfigure tzdata

这样做可以让您配置时区(您可以选择相同的时区),并自动同步您的时间。
如果没有tzdata软件包,请安装它:
sudo apt-get update
sudo apt-get install tzdata

3这解决了我的Ubuntu服务器时区设置问题,谢谢。 - Manee Osman

在12.04版本中,我不需要解锁任何东西。只需点击顶部栏的时钟,选择"时间和日期设置",一旦时间和日期窗口打开,选择手动,这样您就可以手动更改时间和日期;否则从地图上选择您所在的时区,并选择自动。

enter image description here

enter image description here


4我无法通过这种方式更改我的系统时间。我可以从设置中更改时间,但它没有反映在我的顶部栏上。 - roopunk
1需要一段时间(超过30秒),但是顶部栏会在一段时间后更新。(Ubuntu 14.04) - shxfee
你需要改变日期选择器控件的焦点,以便立即更改日期。非常奇怪 :) (Ubuntu 14.10) - Aram Paronikyan
1这些解决方案都对我没用,我也是在14.04上。 - Tass
有时候为了反映设置的更改,你需要终止Unity面板服务并重新启动它。点击顶部栏上的时钟,选择时间和日期设置。一旦时间和日期窗口打开,选择手动以便可以手动更改时间和日期;否则从地图上选择你所在的时区,并选择自动。现在为了立即反映更改,打开终端并输入"killall unity-panel-service"。 - Gaurav Shukla

如果你只想改变时区,请参考以下步骤:
1. 检查当前时区设置:`$ timedatectl` 2. 显示所有可用的时区:`$ timedatectl list-timezones` 3. 更改时区:`$ sudo timedatectl set-timezone Europe/Berlin`。

请参考此博文: this blog post,了解如何使用机器友好的日期格式字符串设置日期。
sudo date 120622432007.55

对于2007年12月6日,22:43:55,

并且查看此答案以设置日期为人性化字符串:

sudo date --set "15 MAY 2011 1:40 PM"

1谢谢 :) 这正是我在寻找的。 - Soren

要在Ubuntu版本上使用timesyncd将日期和时间更改为固定值,请按照以下步骤操作。
停止timesyncd
sudo systemctl stop systemd-timesyncd

设置日期和/或时间手动方式:
sudo timedatectl set-time 'YYYY-MM-DD'

或者:

sudo timedatectl set-time 'YYYY-MM-DD HH:MM:SS'

当你想要恢复到当前的时间和日期时,请运行以下命令:
sudo systemctl start systemd-timesyncd

我在我的安装过程中遇到了类似的问题,上述命令出现了以下错误:
date: the argument '19 Sep 2014 20:11:00' lacks a leading '+';
when using an option to specify date(s), any non-option
argument must be a format string beginning with '+'
Try 'date --help'

帮助显示 -

Usage: date [option]...  [+FORMAT] - (etc)

添加了所需的加号,如指示的那样,以渲染+19 Sep 2014 20:11:00,这样就成功了。

这是用来“显示”日期,而不是“设置”日期的。 - Adam Katz