Как конвертировать дату в unix TIMESTAMP в Shell script на MacOS


в Linux вы можете конвертировать дату, такую как" 2010-10-02", в метку времени unix в сценарии оболочки с помощью

date -d "2010-10-02" "+%s"

Так как Mac OS не имеет эквивалента - d на дата. Как вы собираетесь преобразовать дату в метку времени unix в сценарии оболочки.

4 63

4 ответа:

man date на OSX есть такой пример

date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"

, который я думаю, делает то, что вы хотите.

вы можете использовать это для определенной даты

date -j -f "%a %b %d %T %Z %Y" "Tue Sep 28 19:35:15 EDT 2010" "+%s"

или использовать любой формат, который вы хотите.

date +%s

это отлично работает для меня на OS X Lion.

date -j -f "%Y-%m-%d" "2010-10-02" "+%s"

я использовал следующее На Mac OSX.

currDate=`date +%Y%m%d`
epochDate=$(date -j -f "%Y%m%d" "${currDate}" "+%s")