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"` #获得指定日前加上一天的日前
根据:
用shell将时间字符串与时间戳互转
TodayYM=`/bin/date +%Y-%m`
echo $TodayYM
CurrntMontFirstDay=$TodayYM"-01 00:00:00"
#CurrntMontFirstDay="2014-01-01 00:00:00"
echo $CurrntMontFirstDay
currentSeconds=`date -d "$CurrntMontFirstDay" +%s`
echo $currentSeconds
secondsLastDay=`expr $currentSeconds - 86400`
echo $secondsLastDay
date_new=`date -d @$secondsLastDay "+%Y-%m-%d"`
echo $date_new
LastMonthFistDay=`date -d @$secondsLastDay "+%Y%m"`"01"
echo $LastMonthFistDay
LatMonthDayNum=`date -d @$secondsLastDay "+%d"`
echo $LatMonthDayNum
#BEGINDAY=te -d @$seconds_new "+%Y-%m-%d"
BEGINTIME=$LastMonthFistDay"000000"
echo $BEGINTIME