チケット #43715

convert AJD to LSCD probrem

登録: 2022-01-28 11:40 最終更新: 2022-04-01 21:32

報告者:
(匿名)
担当者:
(未割り当て)
チケットの種類:
状況:
オープン
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
1

詳細

コメントアウトしている行がない場合はテストに成功て正常に動作している様に見えます。 メントインすると西暦 2022/11/24 が旧暦 2022/10/31 となりテストが失敗します。

{{{

import ajd4jp.iso.Year import org.scalatest.funspec.AnyFunSpec import ajd4jp._ import java.time.LocalDate

class AJDSpec extends AnyFunSpec:

it("ajd to lscd") {
assert(ajdToLscd(2022, 1, 1).toString == "2021/11/29 00:00:00")

// assert(ajdToLscd(2022, 2, 1).toString == "2022/01/01 00:00:00")

assert(ajdToLscd(2022, 11, 23).toString == "2022/10/30 00:00:00") assert(ajdToLscd(2022, 11, 24).toString == "2022/11/01 00:00:00")
}
private def ajdToLscd(year: Int, month: Int, day: Int): LSCD =
val ajd = new AJD(year, month, day) val y = LunisolarYear.getLunisolarYear(ajd) println(s"y.getMonthCount: ${y.getMonthCount}") y.getLSCD(ajd)

}}}

チケットの履歴 (4 件中 3 件表示)

2022-01-28 11:40 更新者: None
  • 新しいチケット "convert AJD to LSCD probrem" が作成されました
2022-01-28 12:55 更新者: None
コメント

チケットを作成した者です。コードがフォーマットされていなく申し訳ありません。問題としては、一行目があるかないかで結果に影響が出てしまっていいます。

//ajdToLscd(2022, 2, 1).toString == "2022/01/01 00:00:00"
ajdToLscd(2022, 11, 24).toString == "2022/11/01 00:00:00"
2022-04-01 21:32 更新者: zhgchn
コメント

旧暦カレンダーを作成してみたら、広範囲で作成すると、旧暦の11月から旧暦の年末まで不正になる年が出てくる 但し、小範囲で作成すると、上記不正なところが消えるようになるケースがある

添付ファイルリスト

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする