はじめに,大変申し訳ございませんが,「こういうことをしたいのだけど,アルゴリズム=計算手順を教えてください」という質問(一般的ではない処理の作成)にはお答えすることが難しいですので,次回よりお願い致します.例えば「このような計算手順を考えたが,どのコンポーネントまたはメソッドを使えばよいか」「このような処理を作成したがエラーが発生してしまう」と言った質問にはお答えします.少ない人数で対応しておりますので,ご協力をお願い致します.
ご質問の大体の処理はカレンダーコンポーネントを使用することにより実行可能です.
まず,年数の下二桁は,カレンダコンポーネントのメソッド「書式指定によるカレンダー文字列表現の取得」に書式「yy」を指定して実行しますと取得できます.
また,ある曜日の日番号はメソッド「getDayOfWeek」を用いることにより取得できます.
問題の週番号ですが,次のような計算になろうかと思います(間違いがあるかもしれません)
(週番号を知りたい日付+1/1の日番号-1日) – 同年1月1日)/7 +1
この計算手順に従って,カレンダーコンポーネントを用いて日数の計算を行います.上の計算手順での7での割り算は小数点以下切り捨てを想定しておりますが,「除算」コンポーネントでは四捨五入となってしまいますため,「整数(BigInteger)格納変数」に一旦日数を設定し,メソッド「divideThenReplace」を用いて割りますと切り捨てになります.
ご参考のため,当方で作成したアプリケーションを添付いたします.