恩 date -s 只是临时修改系统时间。
创新互联建站长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为彭水苗族土家族企业提供专业的成都网站建设、网站制作,彭水苗族土家族网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
你还需要执行:
clock -w
将数据写如CMOS芯片。
另外图形环境下:图形界面的时间显示有它自己的时钟,并不是和系统时间即时同步(隔一段时间同步一次。所以立刻切回图形界面不能看到效果。)。
你需要重新登录图形界面。或者在图形界面下开个终端。使用date 命令查看时间。
我们一般使用“date -s”命令来修改系统时间。比如将系统时间设定成1996年6月10日的命令如下。
#date -s 06/10/96
将系统时间设定成下午1点12分0秒的命令如下。
#date -s 13:12:00
注意,这里说的是系统时间,是linux由操作系统维护的。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
#clock -w
这个命令强制把系统时间写入CMOS
Linux时间转化方法:
(1)date -d"2008年 12月 17日 星期三 17:27:22 CST" +"%s"
该命令将2008年 12月 17日 星期三 17:27:22 CST转化为时间戳
结果:1229515680
(2)将时间戳1123495443 换算成可以识别的年月日分秒
date -d '1970-01-01 UTC 1123495443 seconds'
结果:2005年 08月 08日 星期一 18:04:03 CST
(3)date -d"Mon Jul 17 13:36:28 CST 2006" +"%F %H:%M:%S"
该命令将被转换的时间“Mon Jul 17 13:36:28 CST 2006” 转换为你想要输出的格式+"%F %H:%M:%S"
结果:2006-07-17 13:36:28
Freebsd时间转化方法:
(1)date -j -f "%a %b %d %T %Z %Y" "Wed Dec 17 17:55:36 CST 2008" "+%s"
该命令将时间Wed Dec 17 17:55:36 CST 2008转换为时间戳
结果:1229507736
(2)将时间戳1229507736转换为当前时间
date -r 1229507736
结果:Wed Dec 17 17:55:36 CST 2008
(3)date -j -f "%a %b %d %T %Z %Y" "Mon Jul 17 13:16:11 JST 2006" "+%F %H:%M:%S"
该命令将被转换的时间"`date`" 转换为你想要的格式"+%s"
结果:2006-07-17 13:16:11
补充:
perl下:
将时间戳转换为时间perl -e "print scalar localtime '1209391893'"
PHP下:
生成时间戳方法:mktime(小时,分,秒,月,日,年)
这里是否弄明白了Linux时间转化方法。
用命令 date -s 2016-09-11 更改日期,再用命令 date -s 17:48 更改时间。