рд░рд╛рдд рдореЗрдВ рджрдВрддрдХрдерд╛рдПрдВ - рд╕рдлрд▓рддрд╛ рдХреА рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫреЗ рдирд╛рдо

рдЫрд╡рд┐
рд╕рднреА рдХреЛ рд╢реБрдн рджрд┐рдиред

"рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдПрдХ рдирд╛рд╡ рдХрд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рддреИрд░ рдЬрд╛рдПрдЧреА" - рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рд╕рд┐рджреНрдз рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди, рдЪрд░, рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИред

рдЖрдкрдиреЗ рдХрд┐рддрдиреА рдмрд╛рд░ рдХрд┐рд╕реА рдЕрдЬрдирдмреА рдХреЛ рдкрдврд╝рд╛ рд╣реИ (рдФрд░ рдХрднреА-рдХрднреА рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рдХреЛрдб, рдореБрдЭреЗ рдкрд╢реНрдЪрд╛рддрд╛рдк рд╣реБрдЖ, рдпрд╣ рдореЗрд░реЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╣реБрдЖ) рдФрд░ рдореИрд╢ рд╕реЗ рдирд┐рдкрдЯрдирд╛ред рдЪрд░, рдХрд╛рд░реНрдп, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдХреНрд╖рд╛рдПрдВ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЪрд░ рд╣реИ, рдЗрд╕рдХрд╛ рдирд╛рдо рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
enum Dates{
GET_FIRST,
GET_SECOND,
GET_BOTH,
None
}



рддреЛ рд╕реЛрдЪреЗрдВ рдХрд┐ рдпрд╣ enam рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдХрд░рддрд╛ рд╣реИред рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдорд╛рдорд▓рд╛ рддрд╛рд░реАрдЦреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рджреЛ рддрд┐рдерд┐рдпрд╛рдВ рд╡рд┐рдзрд┐ рдХреЛ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдХреБрдЫ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдкрд╣рд▓рд╛ рдФрд░ рджреВрд╕рд░рд╛ред рдпрд╛ рд╢рд╛рдпрдж рдХреБрдЫ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХрдИ рд░рд╛рдп рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рдРрд╕реА рдЬрдЧрд╣ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Boolean IsInRange( DateTime date1, DateTime date2, Dates pDates) {
if (pDates==Dates.GET_BOTH) {
return date1 <= myDate && myDate <= date2;
}
if (pDates==Dates.GET_FIRST) {
return date1 <= myDate && myDate < date2;
}
if (pDates==Dates.GET_SECOND) {
return date1 < myDate && myDate <= date2;
}
return date1 < myDate && myDate < date2;
}



рдФрд░ рдХреЗрд╡рд▓ рддрднреА рд╣рдо рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдИрдирд╛рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рд╕реАрдорд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПред
рд▓реЗрдХрд┐рди рдЕрдЧрд░, рд╡рд╕реНрддреБ рдХреЗ рдЕрд░реНрде рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрд╕ рдХреЛрдб рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд╛рдо рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд╕рд╛рд░ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдирд╛рдо рд╣реИ ред
рдЗрд╕реЗ рд╕рд░рд▓ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

enum DateIntervals{
Open,
Closed,
OpenLeft,
OpenRight
}


рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреЛрдб рдкрд░ рдЪрдврд╝рдирд╛ рд╣реЛрдЧрд╛, рдПрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕реНрдерд╛рдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ - рдЙрд╕рдХрд╛ рдирд╛рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд╕рдХреА рдкреНрд░рдХреГрддрд┐ рдХреА рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБред
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рдирд╛рдо рд╕рд╛рд░ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рдЕрдЪреНрдЫреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрдЬрд╛рдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд╛рдо рдкрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВ рдкрд╛рдЧрд▓ рдерд╛, рд╣рд░ рдЪреАрдЬ рдФрд░ рд╣рд░ рдЪреАрдЬ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдирд╛ рдЖрд▓рд╕реА рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреАред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрд╣рд╛рдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЙрд╣, рдмрд╡рд╛рд╕реАрд░ - рдУрд╣ рд╣рд╛рдБред рдЗрд╕рд▓рд┐рдП, рдЕрдЪреНрдЫреЗ рдирд╛рдо рд▓рд┐рдЦреЗрдВ - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИред рдкреВрд░реНрдгрддрд╛ рдХреА рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рддрдХ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ 5 рдмрд╛рд░ рдирд╛рдо рдмрджрд▓реЗрдВ - "рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ"

рдирд╛рдо рдмрддрд╛рдпрд╛ред

рдЗрди рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪрд╛рд░рдг рдЗрддрдирд╛ рдЧрд░реНрдо рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╛рд░ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред рдордзреНрдп рдирд╛рдо рдХрд╛ рдЙрдЪреНрдЪрд╛рд░рдг рдЧреЗрдЯреБрдЗрдЙрдЗрдЙрдЗрдЙрдЗрдЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред "рд▓рдЧрддрд╛ рд╣реИ, рднрдЧрд╡рд╛рди, рдХреНрдпреЛрдВ, рдареАрдХ рд╣реИ, рдХреНрдпреЛрдВ ..."
рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рд╕рд╣рдХрд░реНрдореА рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рддреЛ рдЙрдЪреНрдЪрд╛рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдВрдд рдореЗрдВ рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдЙрдкрд╕рд░реНрдЧреЛрдВ
рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рдордп (рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реАрдорд┐рдд рд╣реИ), рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЛ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЪрд░ рдирд╛рдореЛрдВ рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ рдФрд░ рдЫреЛрдЯреЗ рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдирд╛рдо рд╕реНрд╡рдпрдВ рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдЙрдкрд╕рд░реНрдЧ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░
  • рдПрдХ рд╕рд░рдгреА (рд╕рд░рдгреА)
  • рдмреА рдмреВрд▓ рдмреВрд▓рд┐рдпрди рдкреВрд░реНрдгрд╛рдВрдХ (рдПрдХ рдмрд╛рдЗрдЯ)
  • BYTE рджреНрд╡рд╛рд░рд╛ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ
  • рд╕реА рдЪрд░рд┐рддреНрд░ (рдПрдХ рдмрд╛рдЗрдЯ)
  • C рд╡рд░реНрдЧ
  • рдбреА рдбрдмрд▓ рдкреНрд░рд┐рд╕рд┐рдЬрди рдирдВрдмрд░ (рдбрдмрд▓)
  • ....
рдЕрдм рднреА, рдпрд╣ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд▓рд┐рдкреНрдд рди рд╣реЛрдВред рдЦреАрдВрдЪреЗрдВ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЗ рдмрдЬрд╛рдп рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдЪрд░ рдХрд╛ рдирд╛рдо рджреЗрдВред

рдирд╛рдо рдХрдм рддрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдпрджрд┐ рд╡реИрд░рд┐рдПрдмрд▓ рдпреВрд╕реЗрдЬ рдмреНрд▓реЙрдХ 3 рд▓рд╛рдЗрдиреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИ, рддреЛ рдпрд╣ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдлрд░реНрд╕реНрдЯрдЗрдВрдбреЗрдХреНрд╕рдЗрдиреНрд╕реЗрд░рдХреНрд▓реЗрдУрд▓реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдирд╛рдо рдХреА рд▓рдВрдмрд╛рдИ рд╕реАрдзреЗ рдмреНрд▓реЙрдХ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рдЖрдиреБрдкрд╛рддрд┐рдХ рд╣реИред рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рдмреНрд▓реЙрдХ, рдЙрддрдирд╛ рдмрдбрд╝рд╛ рдирд╛рдоред

рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдмрд╛рд╣рд░ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкреАрд▓ рдмрд╣реБрдд рд╡рдЬрдирджрд╛рд░ рд╣реЛрдЧреАред рдмрдВрдж рдХрд╛рд░реНрдп, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рд▓рдВрдмреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:


рдЦреБрд╢ рдХреЛрдбрд┐рдВрдЧред

Source: https://habr.com/ru/post/In142146/


All Articles