【イベントコード表示】【コモン出力ファイル】
■コモンイベント「年月日〜年月日→日数」
起動条件:呼び出しのみ
入力の数 / 結果を返す |
設定 |
名前 |
初期値 |
特殊設定 |
数値1 |
年(0=現在) |
0 |
|
数値2 |
月(0=現在) |
0 |
|
数値3 |
日(0=現在) |
0 |
|
文字列1 |
年(0=現在) |
0 |
|
文字列2 |
月(0=現在) |
0 |
|
文字列3 |
日(0=現在) |
0 |
|
返す値 |
出力日数 |
セルフコモン10[数]:出力日数 |
■条件分岐(変数): 【1】 CSelf0[開始年] が 0 以下
-◇分岐: 【1】 [ CSelf0[開始年] が 0 以下 ]の場合↓
|■変数操作: CSelf0[開始年] = Sys77:現在の[年] + 0
|■
◇分岐終了◇
■変数操作: CSelf0[開始年] 下限= 1583 + 0
■条件分岐(変数): 【1】 CSelf1[開始月] が 0 以下
【2】 CSelf1[開始月] が 13 以上
-◇分岐: 【1】 [ CSelf1[開始月] が 0 以下 ]の場合↓
|■変数操作: CSelf1[開始月] = Sys78:現在の[月] + 0
|■
-◇分岐: 【2】 [ CSelf1[開始月] が 13 以上 ]の場合↓
|■変数操作: CSelf1[開始月] = 12 + 0
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf2[開始日] が 0 以下
-◇分岐: 【1】 [ CSelf2[開始日] が 0 以下 ]の場合↓
|■変数操作: CSelf2[開始日] = Sys79:現在の[日] + 0
|■
◇分岐終了◇
■変数操作: CSelf20[日数:1月]〜CSelf31[日数:12月] = 31 + 0
■変数操作: CSelf21[日数:2月] = 28 + 0
■変数操作: CSelf23[日数:4月] = 30 + 0
■変数操作: CSelf25[日数:6月] = 30 + 0
■変数操作: CSelf28[日数:9月] = 30 + 0
■変数操作: CSelf30[日数:11月] = 30 + 0
■変数操作: CSelf12[年-1] = CSelf0[開始年] - 1
■変数操作: CSelf13[月-1] = CSelf1[開始月] - 1
■変数操作: CSelf11[合計日数] = CSelf12[年-1] * 365
■変数操作: CSelf11[合計日数] += CSelf12[年-1] / 4
■変数操作: CSelf11[合計日数] -= CSelf12[年-1] / 100
■変数操作: CSelf11[合計日数] += CSelf12[年-1] / 400
■変数操作: CSelf14[うるう年4単位] = CSelf0[開始年] % 4
■変数操作: CSelf15[うるう年100単位] = CSelf0[開始年] % 100
■変数操作: CSelf16[うるう年400単位] = CSelf0[開始年] % 400
■条件分岐(変数): 【1】 CSelf14[うるう年4単位] が 0 と同じ
-◇分岐: 【1】 [ CSelf14[うるう年4単位] が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 CSelf16[うるう年400単位] が 0 と同じ
【2】 CSelf15[うるう年100単位] が 0 以外
|-◇分岐: 【1】 [ CSelf16[うるう年400単位] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[日数:2月] += 1 + 0
||■
|-◇分岐: 【2】 [ CSelf15[うるう年100単位] が 0 以外 ]の場合↓
||■変数操作: CSelf21[日数:2月] += 1 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇
■変数操作: CSelf18[変数20-31] = 1600020 + 0
■回数付きループ [ CSelf13[月-1] ]回
|■変数操作: CSelf11[合計日数] += V[CSelf18[変数20-31]] + 0
|■変数操作: CSelf18[変数20-31] += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf2[開始日] 上限= V[CSelf18[変数20-31]] + 0
■変数操作: CSelf11[合計日数] += CSelf2[開始日] + 0
▼ もう一方の合計日数を算出
■変数操作: CSelf40[処理年] = CSelf5[終了年] + 0
■変数操作: CSelf41[処理月] = CSelf6[終了月] + 0
■変数操作: CSelf42[処理日] = CSelf7[終了日] + 0
■条件分岐(変数): 【1】 CSelf40[処理年] が 0 以下
-◇分岐: 【1】 [ CSelf40[処理年] が 0 以下 ]の場合↓
|■変数操作: CSelf40[処理年] = Sys77:現在の[年] + 0
|■
◇分岐終了◇
■変数操作: CSelf40[処理年] 下限= 1583 + 0
■条件分岐(変数): 【1】 CSelf41[処理月] が 0 以下
【2】 CSelf41[処理月] が 13 以上
-◇分岐: 【1】 [ CSelf41[処理月] が 0 以下 ]の場合↓
|■変数操作: CSelf41[処理月] = Sys78:現在の[月] + 0
|■
-◇分岐: 【2】 [ CSelf41[処理月] が 13 以上 ]の場合↓
|■変数操作: CSelf41[処理月] = 12 + 0
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf42[処理日] が 0 以下
-◇分岐: 【1】 [ CSelf42[処理日] が 0 以下 ]の場合↓
|■変数操作: CSelf42[処理日] = Sys79:現在の[日] + 0
|■
◇分岐終了◇
■変数操作: CSelf21[日数:2月] = 28 + 0
■変数操作: CSelf12[年-1] = CSelf40[処理年] - 1
■変数操作: CSelf13[月-1] = CSelf41[処理月] - 1
■変数操作: CSelf10[出力日数] = CSelf12[年-1] * 365
■変数操作: CSelf10[出力日数] += CSelf12[年-1] / 4
■変数操作: CSelf10[出力日数] -= CSelf12[年-1] / 100
■変数操作: CSelf10[出力日数] += CSelf12[年-1] / 400
■変数操作: CSelf14[うるう年4単位] = CSelf40[処理年] % 4
■変数操作: CSelf15[うるう年100単位] = CSelf40[処理年] % 100
■変数操作: CSelf16[うるう年400単位] = CSelf40[処理年] % 400
■条件分岐(変数): 【1】 CSelf14[うるう年4単位] が 0 と同じ
-◇分岐: 【1】 [ CSelf14[うるう年4単位] が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 CSelf16[うるう年400単位] が 0 と同じ
【2】 CSelf15[うるう年100単位] が 0 以外
|-◇分岐: 【1】 [ CSelf16[うるう年400単位] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[日数:2月] += 1 + 0
||■
|-◇分岐: 【2】 [ CSelf15[うるう年100単位] が 0 以外 ]の場合↓
||■変数操作: CSelf21[日数:2月] += 1 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇
■変数操作: CSelf18[変数20-31] = 1600020 + 0
■回数付きループ [ CSelf13[月-1] ]回
|■変数操作: CSelf10[出力日数] += V[CSelf18[変数20-31]] + 0
|■変数操作: CSelf18[変数20-31] += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf42[処理日] 上限= V[CSelf18[変数20-31]] + 0
■変数操作: CSelf10[出力日数] += CSelf42[処理日] - CSelf11[合計日数]
■条件分岐(変数): 【1】 CSelf10[出力日数] が 0 以上
-◇分岐: 【1】 [ CSelf10[出力日数] が 0 以上 ]の場合↓
|■変数操作: CSelf10[出力日数] 絶対値= CSelf10[出力日数] + 1
|■
-◇上記以外
|■変数操作: CSelf10[出力日数] 絶対値= CSelf10[出力日数] - 1
|■
◇分岐終了◇
▼ 以降は処理結果を表示するデバッグ文の処理
■デバッグ文:\cself[10]日(\cself[0]年\cself[1]月\cself[2]日〜\cself[40]年\cself[41]月\cself[42]日)
■ |