今日のJulian day number (JDN)をどのようにするには?それとも日付は何ですか?bash - ユリウス日を取得する方法(現在)?
私が見て、見て、だけのようなもの、「年DAYOFYEAR」を生成するいくつかの機能がないことが判明しました:私は1つを自分で移植することになった2457854.
今日のJulian day number (JDN)をどのようにするには?それとも日付は何ですか?bash - ユリウス日を取得する方法(現在)?
私が見て、見て、だけのようなもの、「年DAYOFYEAR」を生成するいくつかの機能がないことが判明しました:私は1つを自分で移植することになった2457854.
。ここでSSCCEです:
#!/bin/bash
function GetJulianDay # year, month, day
{
year=$1
month=$2
day=$3
jd=$((day - 32075 + 1461 * (year + 4800 - (14 - month)/12)/4 + 367 * (month - 2 + ((14 - month)/12) * 12)/12 - 3 * ((year + 4900 - (14 - month)/12)/100)/4))
echo $jd
}
function GetTodayJulianDay
{
year=`date +"%Y"`
month=`date +"%m"`
day=`date +"%d"`
todayJd=$(GetJulianDay $year $month $day)
echo $todayJd
}
# samples
todayJd=$(GetTodayJulianDay)
echo "got today jd: $todayJd"
yesterdayJd=$(GetJulianDay 2017 4 9)
echo "got yesterday jd: $yesterdayJd"
あなたはdate +%s --date=YYYYMMDD
とUnixの日付を取得し、それはのようなものに終わるだろうcompute the Julian Day from Unix date
にそれを使用することができます
echo $(($(date +%s --date=YYYYMMDD)/86400 + 2440587))
を
編集:これはどれくらい重要なのか分かりませんが、いくつかの人この変換に0.5を加えたいとします。基本的には、現在の日付/時刻が正午以降であれば、変換は1日後にユリウス日になります。
私は試してみたJava版のJava版を使いました。あなたのものはもっと綺麗に見えます。私は時間があるときにチャンスを与えます。 – Buffalo
bash date +%j
はジュリアン日付を返します。
[[email protected] ~]# date +%j
108
今後のジュリアンの日付もかなり簡単です。
[[email protected] ~]# date --date='10 days' +%j
119
[[email protected] ~]# date --date='2 weeks' +%j
123
_How_ "108"はJDNのようなものに似ていますか?質問を徹底的にお読みください – Buffalo
間違った質問に答えていますが(これは、Julianの日付ではなく、序数/年の数字です)、これは役に立つ小さなコマンドです。この2つの違いは、あなたが質問のタイトルだけを読むと混乱することがある理由を示しています:https://en.wikipedia.org/wiki/Julian_day#Terminology – kevinmicke
* navy.mil *リソースを使用するためのA +。 * jpl.gov *サイトは、そのようなものにも非常に適しています。 –