在Linux上,您可以通过以下方式在shell脚本中将“ 2010-10-02”之类的日期转换为unix时间戳:
date -d "2010-10-02" "+%s"
由于Mac OS没有等效的-d for date。如何在shell脚本中将日期转换为unix时间戳。
Answers:
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")
或者,您可以像这样安装GNU date:
brew install coreutils
alias date="/usr/local/bin/gdate"
date +%s
1547838127说Mac必须“与众不同”的评论只是表明评论者对UNIX的历史一无所知。macOS基于BSD UNIX,它比Linux更旧。Linux本质上是其他UNIX系统的副本,Linux通过采用GNU工具而非BSD工具而决定“与众不同”。GNU工具更加用户友好,但是通常在任何* BSD系统上都找不到(只是这样)。
确实,如果您将大部分时间都花在Linux上,但是拥有Mac台式机,则可能要使Mac像Linux一样工作。除非记住要编写要同时在BSD和GNU / Linux Shell上运行的实用程序,否则试图记住两组不同的选项或者为Mac的BSD版本的Bash编写脚本没有任何意义。
date +%Y%m%d
date -j -f“%a%b%d%T%T%Z%Y”“ $ {currDate}”“ +%s”