date命令详解

date 命令

date 命令的功能是显示和设置系统日期和时间。

该命令的一般格式为: date [ 选项 ] 显示时间格式(以 + 开头,后面接格式)

date 设置时间格式

命令中各选项的含义分别为:

-d datestr, --date datestr 显示由 datestr 描述的日期

-s datestr, --set datestr 设置 datestr 描述的日期

-u, --universal 显示或设置通用时间

时间域

% H 小时( 00..23 )

% I 小时( 01..12 )

% k 小时( 0..23 )

% l 小时( 1..12 )

% M 分( 00..59 )

% p 显示出 AM 或 PM

% r 时间( hh : mm : ss AM 或 PM ), 12 小时

% s 从 1970 年 1 月 1 日 00 : 00 : 00 到目前经历的秒数

% S 秒( 00..59 )

% T 时间( 24 小时制)( hh:mm:ss )

% X 显示时间的格式(% H: % M: % S )

% Z 时区 日期域

% a 星期几的简称( Sun..Sat )

% A 星期几的全称( Sunday..Saturday )

% b 月的简称( Jan..Dec )

% B 月的全称( January..December )

% c 日期和时间( Mon Nov 8 14 : 12 : 46 CST 1999 )

% d 一个月的第几天( 01..31 )

% D 日期( mm / dd / yy )

% h 和 %b 选项相同

% j 一年的第几天( 001..366 )

% m 月( 01..12 )

% w 一个星期的第几天( 0 代表星期天)

% W 一年的第几个星期( 00..53 ,星期一为第一天)

% x 显示日期的格式( mm/dd/yy )

% y 年的最后两个数字( 1999 则是 99 )

% Y 年(例如: 1970 , 1996 等)

注意:只有超级用户才有权限使用 date 命令设置时间,一般用户只能使用 date 命令显示时间。

 

 

Ø         显示日期和时间

在字符界面下,除了可以显示年月之外,用户还可以使用 “date” 命令的功能是显示和设置系统日期和时间。需要特别说明的是,只有超级用户才能用 “date” 命令设置时间,一般用户只能用 “date” 命令显示时间。

用指定的格式显示时间,命令如下:

       

# date '+The date of today is : %x , it is : %X '

The date of today is : 14/04/04 , it is : 10:33:01

 

 

其中 % x 显示日期的格式( mm/dd/yy ), % X 显示时间的格式(% H: % M: % S )。

其它参数可查看上面的 date 时间域的设置。

Ø         设置时间为上午9 点16 分

命令如下:

 

 

# date -s 09:16:00

 

 

Ø         设置时间为2004 年4 月14 日

命令如下:

 

 

# date -s 991128

 

 

其中 -s 是设置日期的参数。

 

 

     另外, “date” 命令还有许多有用的参数,能够帮助用户随心所欲地设定和显示时间,例如 %H 显示小时( 00..23 )、 %M 显示分( 00..59 )、 %p 显示出 AM 或 PM 、 %S 显示秒( 00..59 )和 %Z 显示时区等。熟能生巧,经常将这些命令参数运用起来,相信会有更多意想不到的精彩等着大家。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

date +%Y%m%d -d "2 day ago"
date +%Y%m%d -d "2 week ago"
date +%Y%m%d -d "2 month ago"
date +%Y%m%d -d "2 year ago"
date -d "yesterday"


昨天的命令是:
yesterdayformat=`date --date='yesterday' "+%Y-%m-%d_%H:%M:%S"`
echo $yesterdayformat
输出格式是:
2006-03-30_08:39:54

明天的命令是:
tomorrowformat=`date --date='tomorrow' "+%Y-%m-%d_%H:%M:%S"`
echo $tomorrowformat
输出格式是:
2006-04-01_08:41:29

在Linux下,得到N天以前或以后的日期格式:
#date –I –d ‘-n day’   (可以得到N天前的日期,格式为YYYY-MM-DD)
#date –d ‘-n day’ “+%Y%m%d”       (可以得到你天前的日期,格式为YYYYMMDD)
#date –I –d ‘+n day’   (可以得到N天后的日期,格式为YYYY-MM-DD)
#date –d ‘+n day’ “+%Y%m%d”       (可以得到你天后的日期,格式为YYYYMMDD)


CURTIME=`date +"%Y-%m-%d %H:%M:%S"` #当前的系统时间 2007-10-04 14:34:00
LASTLINE=$(tail -1 success.moni) #获取文件的最后时间 2007-10-04 14:30:00
echo "lasttime "$LASTLINE  
echo "Systime "$CURTIME
Sys_data=`date -d   "$CURTIME" +%s` #把当前时间转化为Linux时间
In_data=`date -d   "$LASTLINE" +%s`
interval=`expr $Sys_data - $In_data`   #计算2个时间的差
echo $In_data
echo $Sys_data
echo $interval
if [ $interval -gt 600 ] ; then
echo "need   restart"
exit 0
fi

echo "need't restart"
#这里做

 

 

1.查看指定时间的时间戳

查看当前时间
#date +%s

查看指定时间
#date -d 2008-01-01 +%s
1199116800
#date -d 20080101 +%s
1199116800

2.将时间戳转换成date
#date -d '1970-01-01 UTC 1199116800 seconds'
2008年 01月 01日 星期二 00:00:00 CST

#export LANG=en
#date -d '19700101 UTC 1199116800 seconds'
Tue Jan 1 00:00:00 CST 2008

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值