古城热线 发表于 2018-8-19 11:29:55

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]
查看完整版本: shell date时间相加减