gryps2/Filter-code/T-060_月末エントリー禁止.txt
super.admin ae3f0ebf03 convert
2025-05-30 14:58:21 +02:00

59 lines
No EOL
2 KiB
Text

// 月末エントリー禁止フィルター
//月末エントリー禁止
if (!Monthend()) return(0);
bool Monthend()
{
int MON = TimeMonth(TimeCurrent()); // 何月?
int DAY = TimeDay(TimeCurrent()); // 何日?
int WEEK = TimeDayOfWeek(TimeCurrent()); // 何曜日?
int YEAR = TimeYear(TimeCurrent()); // 何年?
// 月末の1日のみエントリー禁止
if (MON != 2 && MON != 4 && MON != 6 && MON != 9 && MON != 11)
{
if (DAY == 31 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 29 && WEEK == 5) return(false);
}
else if (MON == 4 || MON == 6 || MON == 9 || MON == 11)
{
if (DAY == 30 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 28 && WEEK == 5) return(false);
}
else if (MON == 2 && (MathMod(YEAR, 4) != 0))
{
if (DAY == 28 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 26 && WEEK == 5) return(false);
}
else if (MON == 2 && (MathMod(YEAR, 4) == 0))
{
if (DAY == 29 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 27 && WEEK == 5) return(false);
}
// 月末の2日前からエントリー禁止
/*if (MON != 2 && MON != 4 && MON != 6 && MON != 9 && MON != 11)
{
if (DAY == 31 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 28 && WEEK >= 4) return(false);
}
else if (MON == 4 || MON == 6 || MON == 9 || MON == 11)
{
if (DAY == 30 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 27 && WEEK >= 4) return(false);
}
else if (MON == 2 && (MathMod(YEAR, 4) != 0))
{
if (DAY == 28 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 25 && WEEK >= 4) return(false);
}
else if (MON == 2 && (MathMod(YEAR, 4) == 0))
{
if (DAY == 29 && WEEK >= 1 && WEEK <= 5) return(false);
if (DAY >= 26 && WEEK >= 4) return(false);
}
*/
return(true);
}