linux date命令用法实例详解

发布时间:2020-10-16编辑:脚本学堂
本文介绍了linux date命令的用法,显示当前日期和时间,以及修改系统的日期和时间,linux常用命令之date用法教程,需要的朋友参考下。

linuxcmd/ target=_blank class=infotextkey>linux命令之date命令功能:
一是显示当前日期和时间,包括格式化显示当前系统的日期和时间。
二是修改系统的日期和时间。

功能1:显示系统日期

date命令显示:
 

root@jb200.com:~# date  
Tue Jun 19 01:55:35 UTC 2012  
UTC是时区,2012年6月19日1点55分35秒,星期二。

date的参数用法

注意,参数之前带的是加号(+),减号的话肯定不行。
 

root@jb200.com:~# date +%Y/%m/%d  
2012/06/19  
root@jb200.com:~# date +%Yy%mm%dd  
2012y06m19d  
root@jb200.com:~# date +%H:%M  
01:59

当然可以把年月日和时分秒联系起来一起显示:
 

root@jb200.com:~# date +"%Y-%m-%d %H:%M:%S"  
2012-06-19 02:05:19  


注意双引号必须保留,不然中间的格式化语句的空格不能出现。

其实linux上date还可以显示其他日期,而不是局限在当前日期

例子: 
 

root@jb200.com:~#  date -d today +"%Y-%m-%d %H:%M:%S"  
2012-06-19 02:09:39  
root@jb200.com:~#  date -d yesterday +"%Y-%m-%d %H:%M:%S"  
2012-06-18 02:09:51  
root@jb200.com:~#  date -d tomorrow +"%Y-%m-%d %H:%M:%S"  
2012-06-20 02:09:59  

上例分别显示了当前,昨天今天和明天的日期,不过貌似没有什么大的用处。

命令:
 

root@www.jb200.com:~#  date -d "+1 day" +"%Y-%m-%d %H:%M:%S"  
2012-06-20 02:12:26  
root@www.jb200.com:~#  date -d "+2 day" +"%Y-%m-%d %H:%M:%S"  
2012-06-21 02:12:33  
root@www.jb200.com:~#  date -d "-1 day" +"%Y-%m-%d %H:%M:%S"  
2012-06-18 02:12:43  
root@www.jb200.com:~#  date -d "-2 day" +"%Y-%m-%d %H:%M:%S"  
2012-06-17 02:12:49  
root@www.jb200.com:~#  date -d "+1 month" +"%Y-%m-%d %H:%M:%S"  
2012-07-19 02:13:02  
root@www.jb200.com:~#  date -d "-1 month" +"%Y-%m-%d %H:%M:%S"  
2012-05-19 02:13:08  
root@www.jb200.com:~#  date -d "+1 year" +"%Y-%m-%d %H:%M:%S"  
2013-06-19 02:13:17  
root@www.jb200.com:~#  date -d "-1 year" +"%Y-%m-%d %H:%M:%S"  
2011-06-19 02:13:22  
root@www.jb200.com:~#  date -d "+1 hour" +"%Y-%m-%d %H:%M:%S"  
2012-06-19 03:14:03  
root@www.jb200.com:~#  date -d "+1 minute" +"%Y-%m-%d %H:%M:%S"  
2012-06-19 02:15:17  
root@www.jb200.com:~#  date -d "+1 second" +"%Y-%m-%d %H:%M:%S"  
2012-06-19 02:14:29  

解释:
利用-d参数显示前一天后一天,前一个月后一个月,前一年后一年,甚至是前一小时后一小时,前一分钟后一分钟,前一秒钟后一秒钟的详细日期。

功能2:修改系统日期个时间

要修改系统时间,需要使用date -s参数,其实很简单,但是需要root管理员才能设置系统日期,其他用户只能查看系统日期。

以下命令是修改系统日期为指定的2012年5月17日
date -s 20120517  注意,这样的话会把时间设置为:00:00:00。

例子: 
 

root@www.jb200.com:~# date -s 2012-05-17  
Thu May 17 00:00:00 UTC 2012  
root@www.jb200.com:~# date -s 20120517  
Thu May 17 00:00:00 UTC 2012  
root@www.jb200.com:~# date -s 05/17/2012  
Thu May 17 00:00:00 UTC 2012 

以上三种日期格式都可以。

修改时间基本类似,使用date -s 02:28:00就可以,这个命令的好处是不修改日期,只修改时间。
 

root@www.jb200.com:~# date -s 02:28:00  
Thu May 17 02:28:00 UTC 2012  

以下linux命令演示了linux上date命令完整的修改日期和时间的例子,注意双引号不能省略
 

root@www.jb200.com:~# date -s "02:30:00 2012-06-19"  
Tue Jun 19 02:30:00 UTC 2012  

如何修改时区?

需要更改/etc/sysconfig/clock文件,修改为:
 

ZONE="Asia/Shanghai"

修改完成,需要把系统时间同步到硬件时钟,格式:
 

hwclock --systohc

同理,把硬件时钟同步到系统时钟:
 

hwclock --hctosys