日付を日数に変換する必要があります。
date +%s --date "10 March 1990"
637027200
2番目の数字を取得するには。その後、その数を1日の秒数である86400で割った。
date +%s --date "10 March 1990" / 86400
7373
ただし、1970年1月1日より前の日付では機能しません。
1950年から2020年の日付を使用する必要があります。
解決策はありますか?おそらく、1970年1月1日とは異なる日付で新起源の時間をオーバーライドできる日付バイナリがありますか?
ベストアンサー1
エポックの日付は固定されています。 1950年から作業を行う必要があるため、32ビットUnix時間を使用できます。
数値が負の場合でも、ピリオドを2つ追加できます。
1950年から1970年まで+1970年から現在まで:
#Get the current date time timestamp
d1="$(date +%s)"
#Get the timestamp from <date> to 1970 and remove negative sign
d2="$(date +%s --date "10 March 1950" | sed 's/-//g')"
#Perform addition of both timestamps
res="$((d1+d2))"
echo "$res" # Output 2235228403