shell中日期操作

Posted 胖子学习天地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中日期操作相关的知识,希望对你有一定的参考价值。

1. date -d操作

date  +"%Y%m%d" -d  "+n days"         #今天的后n天日期  
date  +"%Y%m%d" -d  "-n days"         #今天的前n天日期

2. 常用日期格式输出

date +"%F"                                #输出: 2012-06-08
date +"%D"                                #输出: 06/08/12
date +"%Y%m%d %H:%M:%S"                   #输出: 20120608 04:52:28
date +"%Y%m%d"                            #输出: 20120608
date +"%Y%m%d %H:%M:%S" -d "+1 hours"     #输出: 20120608 05:52:43
date +"%Y%m%d %H:%M:%S" -d "+1 days"      #输出: 20120609 04:52:52
date +"%Y%m%d %H:%M:%S" -d "+1 months"    #输出: 20120708 04:52:56
date +"%Y%m%d %H:%M:%S" -d "+1 years"     #输出: 20130608 04:53:07
date +"%T"                                #输出: 05:03:21
date +"%F %T"                             #输出: 2012-06-08 05:03:34
date +"%D %T"                             #输出: 06/08/12 05:03:39

 3. 日期格式转换

# 字符串转时间戳
date -d "2010-10-18 00:00:00" +%s   #输出:1287331200
# 时间戳转字符串
date -d @1287331200  "+%Y-%m-%d"    #输出:2010-10-18

# 获取指定日期的后N天,如果是前N天,则第二部中间是 -
步骤1:得到时间戳           seconds=`date -d "2010-10-18 00:00:00" +%s` 
步骤2:
加上N天的秒数86400*N   seconds_new=`expr $seconds + 86400*N`
步骤3:
获得指定日前加上一天的日前  date_new=`date -d @$seconds_new "+%Y-%m-%d"`

 

以上是关于shell中日期操作的主要内容,如果未能解决你的问题,请参考以下文章

shell中日期操作

AIX shell 脚本中的日期操作

日期选择器对话框在片段中不起作用[关闭]

JS代码片段:一个日期离现在多久了

sql 日期转换代码片段 - Dato,120,konvertere

代码片段:Shell脚本实现重复执行和多进程