控制台上的日期不会改变

控制台上的日期不会改变

我需要临时更改日期来调试一个脚本,但遇到了意外问题:

root@xxx:/# LC_ALL=C date
Wed Jan 31 17:09:02 EET 2018
root@xxx:/# LC_ALL=C date -s "2018-01-10 17:09:30"
Wed Jan 10 17:09:30 EET 2018
root@xxx:/# LC_ALL=C date
Wed Jan 31 17:09:28 EET 2018

笔记:我有一个ru_RU语言环境,因此我使用它LC_ALL=C来方便您。使用不带任何更改的命令LC_ALL

我猜我的语法或阅读有问题man,所以我使用了线程并没有解决任何问题。尝试设置 hwclock 来匹配日期,但没有任何结果:

root@xxx:/# LC_ALL=C hwclock --systohc
root@xxx:/# LC_ALL=C hwclock --show
Wed Jan 31 17:18:17 2018  .451473 seconds
root@xxx:/# man hwclock
root@xxx:/# hwclock --set --date='2011-08-14 16:45:05'
root@xxx:/# LC_ALL=C hwclock --show
Sun Aug 14 16:45:09 2011  .389008 seconds
root@xxx:/# LC_ALL=C date
Wed Jan 31 17:21:07 EET 2018

我如何更改日期?

系统:

root@xxx:/# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

更新@Yaron

kovjr@xxx:~$ LC_ALL=C sudo date 120622432007.55
[sudo] password for kovjr: 
Thu Dec  6 22:43:55 EET 2007
kovjr@xxx:~$ LC_ALL=C date
Wed Jan 31 18:19:23 EET 2018

答案1

正如所描述的这里

查看时间

要查看当前日期和时间,以下命令就足够了

date

设置时间

更改时间意味着设置新时间。要在 Ubuntu(或任何 Linux)中设置时间,只需运行以下命令

sudo date newdatetimestring

必须遵循 下面描述的newdatetimestring格式nnddhhmmyyyy.ss

nn is a two digit month, between 01 to 12
dd is a two digit day, between 01 and 31, with the regular rules for days according to month and year applying
hh is two digit hour, using the 24-hour period so it is between 00 and 23
mm is two digit minute, between 00 and 59
yyyy is the year; it can be two digit or four digit: your choice. I prefer to use four digit years whenever I can for better clarity and less confusion
ss is two digit seconds. Notice the period ‘.’ before the ss.

假设您想将计算机的新时间设置为 2007 年 12 月 6 日 22:43:55,那么您将使用:

sudo date 120622432007.55

例子:

$ sudo date 120622432007.55
[sudo] password for xyz: 
Thu Dec  6 22:43:55 IST 2007
$ date
Thu Dec  6 22:43:56 IST 2007
$

相关内容