【DataSpider】西暦をジュリアン日付(ユリウス通日)に変換する
はじめに
この記事を読まれる方はジュリアン日付(ユリウス通日)を西暦に変えたいって思う人が大半だと思うので、ジュリアン日付とは!?についてはこちらの記事をサクッと参照してください。
基幹システムがジュリアン日付を採用している場合、最新○日分のデータ抽出をしたいという場合に西暦変換がっ必須となります。
つまり処理開始の日時(もしくは-n日とか)をジュリアン日付に変換して、その変換した日付で期間システムに抽出をかけに行くわけですね。
今回はメイン処理から呼び出されるスクリプトを作成します。
インプットとして西暦日付をもらって、それをジュリアン日付に加工して、もとのスクリプトにジュリアン日付を返す処理となります。
ライブラリの全体
このライブラリに必要なスクリプト変数は
・StartDate_Normal
・EndDate_Normal
・StartDate_Julian
・EndDate_Julian
の4つ。
上2つは本ライブラリに渡してもらう入力変数で、下2つは呼び出し元のスクリプトに返す出力変数です。
ライブラリは2つのコンポーネントだけです。
ホントは1つにまとめられますが、あえて2つに。
StartDateとEndDateでそれぞれコンポーネントを作っていますが、やってることは同じです。
ジュリアン日付変換
ジュリアン日付の変換は年と月日でわかれます。
年は
月日は
となります。
年は数値で計算し、月日は日付の日数計算をします。
最後に計算した年と月日をあわせて6桁の文字列とします。
実際のコンポーネントがこちら。
図の右下の赤枠を見ると、西暦がジュリアン日付に変換されていることが確認できます。
注意点としては月日の日付計算をしたときに必ず3桁で返す必要があります。計算次第では1桁や2桁になってしまうので、必ず0埋めの処理は入れましょう。
数値フォーマット変数をつかえばゼロ埋めが可能です。
さいごに
本処理はジュリアン日付を使用しているシステムからデータ抽出をする際に、現在時刻(またはそこから-n日)をした西暦をジュリアン日付に変更するライブラリです。
このライブラリを呼び出して、ジュリアン日付でデータ抽出をするようにすると、汎用的にデータ抽出ができるかと思います。
Discussion