shell date时间相加减
1、使用date -d 选项date+"%Y%m%d" -d"+n days" 今天的后n天日期
date+"%Y%m%d" -d"-n days" 今天的前n天日期
2、常用日期格式
PYTHON
[*] # 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"
PHP
[*] # date +"%Y-%m-%d %H:%M:%S"
[*] 2012-07-18 05:17:01
[*] # date +"%Y-%m-%d %H:%M:%S" -d "+10hour"
[*] 2012-07-18 15:17:16
[*] # date +"%Y-%m-%d %H:%M:%S" -d "+24hour"
[*] 2012-07-19 05:17:37
[*] # date +"%Y-%m-%d %H:%M:%S" -d "-24hour"
[*] 2012-07-17 05:17:45
[*] # date +"%Y-%m-%d %H:%M:%S" -d "-20minute"
[*] 2012-07-18 04:58:00
[*] # date +"%Y-%m-%d %H:%M:%S" -d "+20minute"
[*] 2012-07-18 05:38:05
[*] # date +"%Y-%m-%d %H:%M:%S" -d "+2day"
[*] 2012-07-20 05:18:15
[*] # date +"%Y-%m-%d %H:%M:%S" -d "-2day"
[*] 2012-07-16 05:18:19
[*] # date +"%Y-%m-%d %H:%M:%S" -d "-2month"
[*] 2012-05-18 05:18:24
[*] # date +"%Y-%m-%d %H:%M:%S" -d "+2month"
[*] 2012-09-18 05:18:28
[*] # date +"%Y-%m-%d %H:%M:%S" -d "+2year"
[*] 2014-07-18 05:18:32
[*] # date +"%Y-%m-%d %H:%M:%S" -d "-2year"
[*] 2010-07-18 05:18:36
用shell将时间字符串与时间戳互转
date +%s 可以得到UNIX的时间戳;
用shell将时间字符串与时间戳互转:
date -d "2010-10-18 00:00:00" +%s 输出形如:1287331200
而时间戳转换为字符串可以这样做:
date -d @1287331200"+%Y-%m-%d" 输出形如:2010-10-18
如果需要得到指定日期的前后几天,可以:
1、seconds=`date -d "2010-10-18 00:00:00" +%s` #得到时间戳
2、seconds_new=`expr $seconds + 86400` #加上一天的秒数86400
3、date_new=`date -d @$seconds_new "+%Y-%m-%d"` #获得指定日前加上一天的日前
页:
[1]