рдпрд╣ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ
рдпрд╣ "рдЧреНрд░рд╣рдг рдпрд╛ рдЗрд╡реЗрдВрдЯ рдХрд╛рдЙрдВрдЯрдбрд╛рдЙрди" рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЖрдкрдХреЛ рдареАрдХ-рдареАрдХ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдЪреБрдиреЗ рд╣реБрдП рдкрд▓ рддрдХ рдХрд┐рддрдирд╛ рд╕рдордп рдмрд╛рдХреА рд╣реИ тАФ рдЪрд╛рд╣реЗ рд╡рд╣ рд╕реВрд░реНрдп рдЧреНрд░рд╣рдг рд╣реЛ, рд░реЙрдХреЗрдЯ рд▓реЙрдиреНрдЪ, рдЬрдиреНрдорджрд┐рди, рдХрд┐рд╕реА рдкреНрд░реЛрдбрдХреНрдЯ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдпрд╛ рдХреЛрдИ рднреА рдбреЗрдбрд▓рд╛рдЗрдиред рдпрд╣ рдмрдЪрд╛ рд╣реБрдЖ рд╕рдордп рджрд┐рди, рдШрдВрдЯреЗ, рдорд┐рдирдЯ рдФрд░ рд╕реЗрдХрдВрдб рдореЗрдВ рдмрд╛рдБрдЯрдХрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдХреБрд▓ рд╕рдордп рд╕реЗрдХрдВрдб рдФрд░ рдШрдВрдЯреЛрдВ рдореЗрдВ рднреА рджреЗрддрд╛ рд╣реИред рд╕рднреА рд▓рдХреНрд╖реНрдп рд╕рдордп UTC рдореЗрдВ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдирддреАрдЬрд╛ рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрд▓рдЭрди рдХреЗ рдПрдХ рдЬреИрд╕рд╛ рд░рд╣реЗред
рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдкрд╣рд▓реЗ рд▓рдХреНрд╖реНрдп рддрд╛рд░реАрдЦ рдбрд╛рд▓реЗрдВ, рдлрд┐рд░ рдШрдВрдЯрд╛ (0тАУ23), рдорд┐рдирдЯ рдФрд░ рд╕реЗрдХрдВрдб рд╕реЗрдЯ рдХрд░реЗрдВред рдЕрдЧрд░ рдЖрдк рдореМрдЬреВрджрд╛ рдкрд▓ рд╕реЗ рдЧрд┐рдирддреА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд░реЗрдлрд░реЗрдВрд╕ "рдЕрднреА" рд╡рд╛рд▓рд╛ рдлрд╝реАрд▓реНрдб рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджреЗрдВ, рдпрд╛ рдХрд┐рд╕реА рддрдп рдмрд┐рдВрджреБ рд╕реЗ рдЧрд┐рдирдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдЦрд╛рд╕ Unix рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рджреЗрдВред рдЕрдЧрд░ рд▓рдХреНрд╖реНрдп рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЯреВрд▓ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рдЗрд╡реЗрдВрдЯ рдХреЛ рд╣реБрдП рдХрд┐рддрдирд╛ рд╕рдордп рдЧреБрдЬрд╝рд░ рдЪреБрдХрд╛ рд╣реИред
рдлрд╝реЙрд░реНрдореВрд▓рд╛ рд╕рдордЭреЗрдВ
рдореВрд▓ рдЧрдгрдирд╛ рдПрдХ рдШрдЯрд╛рд╡ рд╣реИ: рд▓рдХреНрд╖реНрдп рдкрд▓ рдореЗрдВ рд╕реЗ рд░реЗрдлрд░реЗрдВрд╕ рдкрд▓ рдХреЛ рдШрдЯрд╛рдирд╛, рджреЛрдиреЛрдВ рдХреЛ Unix epoch рд╕реЗ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЕрдВрддрд░ рдХреЗ рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рди рдХреЛ 1000 рд╕реЗ рднрд╛рдЧ рджреЗрдХрд░ рдФрд░ рдиреАрдЪреЗ рдХреА рдУрд░ рдкреВрд░реНрдгрд╛рдВрдХрд┐рдд (floor) рдХрд░рдХреЗ рдХреБрд▓ рдкреВрд░реЗ рд╕реЗрдХрдВрдб рдорд┐рд▓рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рднрд╛рдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рджрд┐рди рдирд┐рдХрд▓рддреЗ рд╣реИрдВ (├╖86,400), рдлрд┐рд░ рдмрдЪреЗ рд╣реБрдП рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рдШрдВрдЯреЗ (├╖3,600), рдлрд┐рд░ рдорд┐рдирдЯ (├╖60), рдФрд░ рдЖрдЦрд╝рд┐рд░ рдореЗрдВ рд╕реЗрдХрдВрдб рдмрдЪ рдЬрд╛рддреЗ рд╣реИрдВред
$$\text{diff} = t_{\text{target}} - t_{\text{now}}$$$$d=\left\lfloor\tfrac{S}{86400}\right\rfloor,\; h=\left\lfloor\tfrac{S\bmod 86400}{3600}\right\rfloor,\; m=\left\lfloor\tfrac{S\bmod 3600}{60}\right\rfloor,\; s=S\bmod 60$$
рд╣рд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг
рдорд╛рди рд▓реАрдЬрд┐рдП рдЕрднреА рдФрд░ рд▓рдХреНрд╖реНрдп рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ 90,061 рд╕реЗрдХрдВрдб рд╣реИред рджрд┐рди = \(\lfloor 90061 \div 86400 \rfloor = 1\), рдмрдЪреЗ 3,661 рд╕реЗрдХрдВрдбред рдШрдВрдЯреЗ = \(\lfloor 3661 \div 3600 \rfloor = 1\), рдмрдЪреЗ 61 рд╕реЗрдХрдВрдбред рдорд┐рдирдЯ = \(\lfloor 61 \div 60 \rfloor = 1\), рдмрдЪрд╛ 1 рд╕реЗрдХрдВрдбред рддреЛ рдХрд╛рдЙрдВрдЯрдбрд╛рдЙрди рджрд┐рдЦрд╛рдПрдЧрд╛: 1 рджрд┐рди, 1 рдШрдВрдЯрд╛, 1 рдорд┐рдирдЯ, 1 рд╕реЗрдХрдВрдбред
рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓
рдХреМрди-рд╕рд╛ рдЯрд╛рдЗрдо рдЬрд╝реЛрди рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрддрд╛ рд╣реИ? рд▓рдХреНрд╖реНрдп рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдХреЛ UTC рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдИ рднреА "рдЕрднреА" рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк Unix рдорд┐рд▓реАрд╕реЗрдХрдВрдб (рд╡рд╣ рднреА UTC) рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ рдПрдХ рд╣реА рдлреНрд░реЗрдо рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред
рдЕрдЧрд░ рддрд╛рд░реАрдЦ рдкрд╣рд▓реЗ рд╣реА рдмреАрдд рдЪреБрдХреА рд╣реЛ рддреЛ? рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЙрд╕ рдЗрд╡реЗрдВрдЯ рдХреЗ рдмрд╛рдж рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЧреБрдЬрд╝рд░ рдЪреБрдХрд╛ рд╣реИред
рдХреНрдпрд╛ рдореИрдВ рдХрд┐рд╕реА рдЧреНрд░рд╣рдг рдХрд╛ рдХрд╛рдЙрдВрдЯрдбрд╛рдЙрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ? рдмрд┐рд▓реНрдХреБрд▓ тАФ рдЧреНрд░рд╣рдг рдХреА рддрд╛рд░реАрдЦ рдФрд░ рдЙрд╕рдХреЗ рдЕрдзрд┐рдХрддрдо рдЪрд░рдг рдХрд╛ UTC рд╕рдордп рдбрд╛рд▓реЗрдВ, рдФрд░ рдЖрдкрдХреЛ рдмрдЪреЗ рд╣реБрдП рд╕рдордп рдХрд╛ рд▓рд╛рдЗрд╡ рдмреНрд░реЗрдХрдбрд╛рдЙрди рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред