HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0625
sin日付の計算5解決


sin

リンク

2022/6/25(Sat) 19:31:08|NO.96726

日付の計算がしたいです。

具体的に言うと
今日"2022/06/25"から
この前の日曜日の日付は?
"2022/06/19"
と言うのを出したいです。

よろしくお願いします。



この記事に返信する


あいそとーぷ

リンク

2022/6/26(Sun) 00:17:08|NO.96732

こんな感じでどうでしょうか
stopperに曜日を数字で入れると日付が出てきます

//月ごとの日付の最大値 DAYMAX(0) = 31 DAYMAX(1) = 28 DAYMAX(2) = 31 DAYMAX(3) = 30 DAYMAX(4) = 31 DAYMAX(5) = 30 DAYMAX(6) = 31 DAYMAX(7) = 31 DAYMAX(8) = 30 DAYMAX(9) = 31 DAYMAX(10) = 30 DAYMAX(11) = 31 repeat 4 time(cnt) = gettime(cnt) loop mes strf("今日は%d年%02d月%02d日",gettime(0),gettime(1),gettime(3)) stopper = 0 ;求める曜日(日曜日から0,1,2,…) num = abs(time(2)-stopper) if num = 0 :num= 7 repeat num time(3)-- if time(3)<1 { ;日が1を下回ったとき time(1)-- if time(1)<1 :time(1) = 12 :time(0)--;月が1を下回ったとき time(3) = DAYMAX(time(1)-1) } loop switch stopper case 0 :youbi = "日" :swbreak case 1 :youbi = "月" :swbreak case 2 :youbi = "火" :swbreak case 3 :youbi = "水" :swbreak case 4 :youbi = "木" :swbreak case 5 :youbi = "金" :swbreak case 6 :youbi = "土" :swbreak swend mes strf("この前の%s曜日は%d年%02d月%02d日",youbi,TIME(0),TIME(1),TIME(3))



GENKI

リンク

2022/6/26(Sun) 01:12:21|NO.96733

もっと正確に「うるう日」を考慮したい場合はモジュールの利用がおすすめです。

修正ユリウス日換算モジュール
https://mclab.uunyan.com/dl/dl46.htm



あいそとーぷ

リンク

2022/6/26(Sun) 04:23:30|NO.96734

すみませんNo.96732のコードのうち

num = abs(time(2)-stopper) if num = 0 :num= 7


num = time(2)-stopper if num = 0 | time(2)<stopper :num += 7
にして下さい。



沢渡

リンク

2022/6/26(Sun) 09:54:43|NO.96735

>あいそとーぷさん
すみません、横から失礼しますが、そのコードだけだと「閏年は2月が29日まである」のに
対応できないので、NO.96734の修正を適用した上で、

time(3) = DAYMAX(time(1)-1)
の後に

if time(1)=2 : time(3)+= time(0)\4=0 & time(0)\100!=0 | time(0)\400=0
を追加した方が良いように思います。

以下、GENKIさんのモジュールを使用した場合だと、こんなコードになるでしょうか。

#include "mod_mjd.hsp" stopper = 0 //求める曜日(日曜日から0,1,2,…) mjd=GetMJDToday() //今日の修正ユリウス日を取得 dw=MJD2Weekday(mjd) //今日の曜日 tgt=(dw-stopper+7)\7 : if tgt=0 : tgt=7 ConvertMJD2G mjd-tgt,y,m,d sdim s,64,7 : s="日","月","火","水","木","金","土" mes strf("%s曜日は%u日前で、%u年%u月%u日でした。",s(stopper),tgt,y,m,d)



sin

リンク

2022/6/26(Sun) 18:45:27|NO.96736

皆さん、ありがとうございます。
まだやってはいないのですが、出来そうですね。
ありがとうございます。

HSPは手軽に出来て、わからない事はネットで調べられるし、
それでもわからない事は皆さんに助けてもらえる所が大変好きです。
本当に助かります。



ONION software Copyright 1997-2023(c) All rights reserved.