LoginSignup
7
7

More than 5 years have passed since last update.

Javaで日付から六曜(大安とか仏滅とか・・・)を求める

Last updated at Posted at 2016-05-15

初投稿です。
六曜とは大安とか仏滅とかカレンダーに書いてるやつです。

ライブラリについて

AJD4JP 日本専用カレンダー処理 Javaクラスライブラリというのを使います。
こちらから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;
    };
}
7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7