shell 根據當前時間獲取周一和周日時間戳


#!/bin/sh

#根據當前時間獲取本周的周一零點到下周一零點時間
#./getWeek.sh

#根據傳入的時間戳獲取
#./getWeek.sh -t 12356783

#根據傳入的日期獲取
#./getWeek.sh -d 2015-12-05
oneSeconds=86400
sevenSeconds=`expr $oneSeconds \* 7 `

if [ $1 ]
then
    if [ $1 = '-t' ]
    then
        if [ $2 ]
        then
            day=`date -d@$2 +%Y-%m-%d`
        else
            day=`date +%Y-%m-%d`
        fi  
    elif [ $1 = '-d' ]
    then
        if [ $2 ]
        then
            day=$2
        else
            day=`date +%Y-%m-%d`
        fi  
    else
            day=`date +%Y-%m-%d`
    fi  
else
    day=`date +%Y-%m-%d`
fi

dayTime=`date -d "$day" +%s`

weekNum=`date -d "$day" +%u`

if [ $weekNum == 1 ] 
then
    startTime=$dayTime
else
    startTime=`expr $dayTime - $weekNum \* $oneSeconds + $oneSeconds`
fi

endTime=`expr $startTime + $sevenSeconds - 1`

echo `date -d@$startTime "+%Y-%m-%d %H:%M:%S"`
echo $startTime

echo `date -d@$endTime "+%Y-%m-%d %H:%M:%S"`
echo $endTime

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM