我需要临时更改日期来调试一个脚本,但遇到了意外问题:
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
$