2017-03-01 6 views
2

私は2つの変数$sunrise = "7:23 am"と$sunset = "6:10 pm"を持っています。私はのように、今日のエポックと同等にそれらの両方を変換する必要があります。今日のHH:MM am/pmをBashのエポックに変換する

secSunrise=($date ... "$sunrise" ... +"%s") 
secSunset=$(date ... "$sunset" ... +"%s") 

私がこれまでに考え出した唯一のことは、現在の日時でそれをやっている:

$ secNow=$(date +"%s") 
$ echo $secNow 
1488331535 

正方形にどのようにこのサークルにHH:MM am/pmの12時間形式の変数をdateコマンドに挿入しますか?

答えて

4

あなたはこのようGNU dateを使用することができます。

date --date="7:23 am today" +%s 
# output => 1488352980 

date --date="6:10 pm today" +%s 
# output => 1488391800 
  • %sプリントがman dateから

をエポック:

--date=STRINGは、"Sun, 29 Feb 2004 16:21:42 -0800"または"2004-02-29 16:21:42"または のようなほとんどフリーフォーマットの人間が読める日付文字列 でもあります。"next Thursday"です。日付文字列には、 カレンダーの日付、時刻、タイムゾーン、曜日、相対時間、 の相対日付、および数字を示す項目が含まれます。空の文字列は、当日の開始 を示します。日付文字列の形式は、簡単に に記載されているよりも複雑ですが、詳細情報のドキュメントに記載されています。

+2

'--date'は素晴らしい機能です。テストされ、 'secSunrise = $(date --date =" $ sunrise today "+%s)'はうまく動作します。 – WinEunuuchs2Unix

関連する問題