рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ рддрдХ рдмрдЪреЗ рджрд┐рдиреЛрдВ рдХрд╛ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рдЯреВрд▓ рдЖрдкрдХреА рдЪреБрдиреА рд╣реБрдИ рдХрд┐рд╕реА рддрд╛рд░реАрдЦ рд╕реЗ рд▓реЗрдХрд░ рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ (рдЕрдореЗрд░рд┐рдХрд╛) рддрдХ рдХреЗ рджрд┐рдиреЛрдВ рдХреА рдЧрд┐рдирддреА рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╣рд░ рд╕рд╛рд▓ рдордИ рдХреЗ рдЖрдЦрд┐рд░реА рд╕реЛрдорд╡рд╛рд░ рдХреЛ рдордирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ рдЕрдореЗрд░рд┐рдХрд╛ рдХрд╛ рдПрдХ рд╕рдВрдШреАрдп (рдлреЗрдбрд░рд▓) рдЕрд╡рдХрд╛рд╢ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЦрд╛рд╕ рддреМрд░ рдкрд░ рдЕрдореЗрд░рд┐рдХрд╛ рдореЗрдВ рдордирд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрд╕ рджрд┐рди рдХреЗ рд▓рд┐рдП рд╣реА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдмрд╕ рд╕рд╛рд▓ рдФрд░ рдПрдХ рд╢реБрд░реБрдЖрддреА рддрд╛рд░реАрдЦ рдбрд╛рд▓реЗрдВ, рдФрд░ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдордИ рдХреЗ рд╕рд╣реА рдЖрдЦрд┐рд░реА рд╕реЛрдорд╡рд╛рд░ рдФрд░ рджреЛрдиреЛрдВ рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рджрд┐рдиреЛрдВ рдХрд╛ рдЕрдВрддрд░ рдирд┐рдХрд╛рд▓ рджреЗрдЧрд╛ред
рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ
1. рд╡рд╣ рд╕рд╛рд▓ рдбрд╛рд▓реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдЬрд╛рдБрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред 2. рдЕрдкрдиреА рд╢реБрд░реБрдЖрддреА ("рдЖрдЬ рдХреА") рддрд╛рд░реАрдЦ рдЪреБрдиреЗрдВред 3. рдирддреАрдЬрд╛ рдкрдврд╝реЗрдВ: рдмрдЪреЗ рд╣реБрдП рджрд┐рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рд╕рд╛рде рд╣реА рдЙрд╕ рд╕рд╛рд▓ рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ рдХреА рдкреВрд░реА рддрд╛рд░реАрдЦред рдЕрдЧрд░ рд╕рдВрдЦреНрдпрд╛ рдЛрдгрд╛рддреНрдордХ (рдиреЗрдЧреЗрдЯрд┐рд╡) рдЖрддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрд╕ рд╕рд╛рд▓ рдХрд╛ рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ рдкрд╣рд▓реЗ рд╣реА рдмреАрдд рдЪреБрдХрд╛ рд╣реИред
рдлрд╝реЙрд░реНрдореВрд▓рд╛ рд╕рдордЭреЗрдВ
рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ = рдордИ рдХрд╛ рдЖрдЦрд┐рд░реА рд╕реЛрдорд╡рд╛рд░ред рдЗрд╕реЗ рдвреВрдБрдврдиреЗ рдХреЗ рд▓рд┐рдП 31 рдордИ рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдмрд╕реЗ рдирдЬрд╝рджреАрдХреА рд╕реЛрдорд╡рд╛рд░ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ:
$$\text{offset} = (\text{dayOfWeek} - \text{Monday} + 7) \bmod 7$$рдлрд┐рд░ offset рджрд┐рди рдШрдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рдЙрд▓реНрдЯреА рдЧрд┐рдирддреА рдмрд╕ рдЗрддрдиреА рд╕реА рд╣реИ:
рдШрдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреЛрдиреЛрдВ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдЖрдзреА рд░рд╛рдд (midnight) рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдзреЗ-рдЕрдзреВрд░реЗ рджрд┐рди рдХрднреА рдПрдХ рджрд┐рди рдХрд╛ рдлреЗрд░ (off-by-one) рди рдкреИрджрд╛ рдХрд░реЗрдВред
рд╣рд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг
рд╕рд╛рд▓ 2023 рдореЗрдВ 31 рдордИ рдХреЛ рдмреБрдзрд╡рд╛рд░ рдерд╛ (рд╕рдкреНрддрд╛рд╣ рдХрд╛ рджрд┐рди 4)ред Offset:
$$\text{offset} = (4 - 2 + 7) \bmod 7 = 2$$рдпрд╛рдиреА рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ 29 рдордИ, 2023 рдХреЛ рдерд╛ред 1 рдЬрдирд╡рд░реА, 2023 рд╕реЗ 29 рдордИ, 2023 рддрдХ рдХреБрд▓ 147 рджрд┐рди рд╣реЛрддреЗ рд╣реИрдВ:
$$30 + 28 + 31 + 30 + 28 = 147$$(рдЬрдирд╡рд░реА 30 + рдлрд░рд╡рд░реА 28 + рдорд╛рд░реНрдЪ 31 + рдЕрдкреНрд░реИрд▓ 30 + рдордИ рдХреЗ 28 рджрд┐рди = 147)ред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ 147 рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓
рд╕рд╛рд▓ рдФрд░ рддрд╛рд░реАрдЦ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВ? рд╕рд╛рд▓ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╕рд╛рд▓ рдХреЗ рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ рдХреА рдУрд░ рдЧрд┐рдирддреА рдХрд░рдиреА рд╣реИ; рддрд╛рд░реАрдЦ рдпрд╣ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдмрд┐рдВрджреБ рд╕реЗ рдЧрд┐рдирддреА рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдЖрдк рдХрд┐рд╕реА рднрд╡рд┐рд╖реНрдп рдпрд╛ рдмреАрддреЗ рд╣реБрдП рд╕рд╛рд▓ рдХреА рдУрд░ рдЧрд┐рдирддреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирддреАрдЬрд╛ рдЛрдгрд╛рддреНрдордХ (рдиреЗрдЧреЗрдЯрд┐рд╡) рдЖрдП рддреЛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреА рдЪреБрдиреА рд╣реБрдИ рддрд╛рд░реАрдЦ рдЙрд╕ рд╕рд╛рд▓ рдХреЗ рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ рдХреЗ рдмрд╛рдж рдХреА рд╣реИ тАФ рдпрд╛рдиреА рд╡рд╣ рджрд┐рди рдкрд╣рд▓реЗ рд╣реА рдмреАрдд рдЪреБрдХрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдлрд╝ рдЕрдореЗрд░рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рд╣реИ? рд╣рд╛рдБред рдореЗрдореЛрд░рд┐рдпрд▓ рдбреЗ (рдордИ рдХрд╛ рдЖрдЦрд┐рд░реА рд╕реЛрдорд╡рд╛рд░) рдЕрдореЗрд░рд┐рдХрд╛ рдХрд╛ рдЕрд╡рдХрд╛рд╢ рд╣реИред рднрд╛рд░рдд рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рд╕рдордХрдХреНрд╖ рджрд┐рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЯреВрд▓ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдореЗрд░рд┐рдХрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд▓реЛрдЧреЛрдВ рдпрд╛ рдЖрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред