实例:
$>date
Mon Dec    7 15:43:39 CST 2009

#格式化输出
$> date +"%Y-%m-%d"
2009-12-07

#时间游走 当前时间 2009-12-07
# year , month , day ,hour , minute,second    - ago
#昨天输出
$> date    -d "1 day ago" +"%Y-%m-%d"
2009-12-06

#2秒后输出
$> date    -d "2 second" +"%Y-%m-%d %H:%M.%S"
2009-12-07 15:50.04

#传说中的 1234567890 秒
$>date -d "1970-01-01    1234567890 seconds"    +"%Y-%m-%d %H:%m:%S"
2009-02-13 23:02:30

#其他格式的转换
date -d "$(echo "03/Nov/2009 11:04:28" |perl -ne 'print "$2 $1 $3 $4\n" if /(.*?)"/(.*?)"/(.*?) (.*)/;') " +%Y-%m-%d
2009-11-03

#普通 转格式
$> date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
2009/12/12 00:00.00

#apache 格式转换
$>date    -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
2009-12-05 00:00.37

#格式转换 后时间 游走
$>date    -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2007-12-05 00:00.37


#时间差
#一小时 3600
#一天 86400 秒
$>st=$(date    -d "Dec 5, 2009 12:00:37 AM 1 day ago 1 hour ago " +"%s")
$>et=$(date    -d "Dec 5, 2009 12:00:37 AM" +"%s")
$>echo "时间差$[($et-$st)/86400]天,$[($et-$st)/3600%24]小时"
时间差1天,1小时