「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板

(#3008) どうせなら根本的な解決を目指したい - 雪乃☆雫 (2021-07-12 12:26) /中 確認待ち
 Delphiは分かりませんが、主にコメントを眺めて、なんでこのようなナゾ日付が発生するのかと言うことは分かりました。

 例えば、「2028/09/20」。
 これは「2028/08/02」が正解なのですが、修正前だと7/32に、現在は8/2を飛ばして8/3となってしまうやつです。
#-----------------------------------------------
開始日=「2028/09/18」
6回
 開始日を旧暦変換して、「{開始日},{それ}」を表示。
 開始日は開始日に「+0/0/1」を日付加算。
#-----------------------------------------------

 この年の秋分は9/22です。
 なので、直前の二分二至は夏至とゆうことになります。
 夏至は6/21で、これは旧暦05/29に当たります。
 これの直前の朔は、旧5/1にあたる2028/05/24となり、これをスタートに4回計算を繰り返して、5行の朔日行列を作ってるわけですよね?
 計算で作ってませんが、こうなるものと思われます。
#-----------------------------------------------
tm0=「2028/09/20」の修正ユリウス日取得。//62034
m=「5,0,61915
5,1,61945
6,0,61974
7,0,62003
8,0,62033」
#-----------------------------------------------
 目的の旧8月が最後の行になっているので、朔日行列から旧暦を求めるところでは、日付の計算はm[4][2]を見て行わなければなりませんが、どうも「Dec(j)」が、でくりめんと? j=j-1とゆうことだとすると、m[3][2]前月の7月を見て計算してることになっちゃいますよね。これだとたしかに7/32になりまする。
 秋分を過ぎた9/23から正しく戻るのも、直前の二分二至が秋分に変わり朔日行列が変化するからですよね。
 state=0になってDec(j)するべきなパターンがよく分かりませんが、とりあえず、tm0がm[4][2]より大きかった場合は、stateを2とか3とかにしてDec(j)しないようにしたら・・・なおったりしませんかねえ・・・
旧暦変換がおかしすぎる(六曜も) / 雪乃☆雫 (2021-06-03 09:23) (#2989)/ 中 未処理
  とりあえずこんな無理矢理系でなんとかで.. / 雪乃☆雫 (2021-06-03 14:47) (#2990)/ 中 未処理
  修正 / クジラ飛行机 (2021-07-11 00:07) (#3006)/ 中 確認待ち
  惜しい! / 雪乃☆雫 (2021-07-12 02:37) (#3007)/ 中 確認待ち
  どうせなら根本的な解決を目指したい / 雪乃☆雫 (2021-07-12 12:26) (#3008)/ 中 確認待ち
  むむむ / クジラ飛行机 (2022-01-01 23:28) (#3026)/ 中 未処理
    ちょっとやってみます~ / 雪乃☆雫 (2022-01-04 16:30) (#3029)/ 中 未処理
  v3のサンプルありがとうございます! / クジラ飛行机 (2022-01-08 17:39) (#3035)/ 中 未処理
  できたような・・・? / 雪乃☆雫 (2022-01-18 01:11) (#3038)/ 中 未処理
  なおるかも! / 雪乃☆雫 (2022-01-30 00:46) (#3044)/ 中 未処理
    おぉ!!!ありがとうございます!! / クジラ飛行机 (2022-02-08 11:14) (#3049)/ 中 確認待ち
  実行ファイルを差し替え / クジラ飛行机 (2022-02-08 15:15) (#3053)/ 中 確認待ち
  確認しました☆ / 雪乃☆雫 (2022-02-09 01:25) (#3054)/ 中 解決

(#3008)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能