初投稿です。
六曜とは大安とか仏滅とかカレンダーに書いてるやつです。
ライブラリについて
AJD4JP 日本専用カレンダー処理 Javaクラスライブラリというのを使います。
[こちら](java ajd4jp)からjarファイルをダウンロードしてインポートしてください。
ライセンスもApache License, Version 2.0とあるので普通に使う分には大丈夫でしょう。
処理の実装
六曜を求めるには現在の日付(グレゴリオ暦)を旧暦に変えてその上で計算する必要があるそうですが、そこらへんに疎い私はクラス名とかメソッド名見ても「なるほど、わからん。」状態でした。
サンプルソースもサイトにはありますが、とりあえずData型から六曜をStringで取得するメソッドだけ書いてみたので参考までに載せておきます。これでいつでもコピペすればOK
Rokuyo.java
package hogehoge;
import java.text.SimpleDateFormat;
import java.util.Date;
import ajd4jp.AJD;
import ajd4jp.LSCD;
import ajd4jp.LunisolarYear;
public class Rokuyou {
/**
* Dateから六曜を取得する
* @param date
* @return rokuyou
* @throws Exception
*/
public String getRokuyou(Date date) throws Exception {
AJD ajd = new AJD(date);
SimpleDateFormat year = new SimpleDateFormat("yyyy");
LunisolarYear ly = LunisolarYear.getLunisolarYear(ajd);
LSCD lscd = ly.getLSCD(ajd);
String rokuyou = lscd.getRokuyo().getName();
return rokuyou;
};
}