出席が記録されない問題

WBOY
WBOYオリジナル
2016-06-23 13:48:161290ブラウズ

従業員のパンチイン データがテーブル A に記録されており、一部の従業員がパンチインを忘れた場合、その月に従業員がパンチインに失敗した回数をどのように数えればよいでしょうか。私の最初のアイデアは次のとおりです。1 日に 4 回パンチインする必要がある場合、4*その月の日数 = パンチの総数、そしてパンチの総数 - パンチされたレコードの数 = を使用します。打ち込まなかった回数。
しかし、私たちの会社は毎週月曜日が休みなので、パンチインの総数には月曜日が含まれない必要があります。ただし、月曜日が 4 日ある月もあれば、月曜日が 5 日ある月もあります。の場合、合計チェックイン数は 16 回減算されます。その月に月曜日が 5 回ある場合は、20 回減算されます。では、月に月曜日が何回あるかを判断するにはどうすればよいでしょうか。


ディスカッション(解決策)への返信

毎月の最初の日が何曜日かわかりませんか?

分かりません、なぜですか?

(月の日数 - (7 - 初日の週の値)) / 7
四捨五入は有効な週数です

たとえば、今月: (31-(7-3))/7 =3.857
得られた値 それは月曜日が何回あるかと何の関係がありますか?

echo ceil((31-(7-3))/7); //4
当然、4週間に月曜日が4回あります

たとえば、今年の12月は、
echo ceil((31-(7) -1 ))/7); //値は 4 です
でも月曜日は 5 つあります

あなたは 7-1 なので、この 1 はカウントされませんか?

次に、1 か月に木曜日が何回あるかを判断するには、(1 か月の日数 - (7 - 週の 4 日目の値)) / 7 ですか??

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。