рдпрд╣ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ
рдЕрднреА рд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреА рддрд╛рд░реАрдЦ рддрдХ рдХрд╛ рд╕рдордп рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдкрд▓ рдЕрднреА рд╕реЗ рдХрд┐рддрдиреА рджреВрд░ рд╣реИред рдмрд╕ рдХреЛрдИ рднреА рднрд╡рд┐рд╖реНрдп рдХреА рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдбрд╛рд▓рд┐рдП, рдФрд░ рдпрд╣ рдмрдЪреЗ рд╣реБрдП рдХреБрд▓ рджрд┐рди, рдШрдВрдЯреЗ, рдорд┐рдирдЯ рдФрд░ рд╕реЗрдХрдВрдб рджрд┐рдЦрд╛ рджреЗрдЧрд╛, рд╕рд╛рде рд╣реА рдПрдХ рдЖрд╕рд╛рди рдмреНрд░реЗрдХрдбрд╛рдЙрди рдЬреИрд╕реЗ "1d 1h 1m 1s" рднреАред рдпрд╣ рдХрд╛рдЙрдВрдЯрдбрд╛рдЙрди, рдбреЗрдбрд▓рд╛рдЗрди, рд▓реЙрдиреНрдЪ рдХреА рддрд╛рд░реАрдЦреЛрдВ, рдкрд░реАрдХреНрд╖рд╛рдУрдВ, рдЬрдиреНрдорджрд┐рдиреЛрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд▓рд╛рдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рдЯреВрд▓ рдЕрдВрджрд░реВрдиреА рд░реВрдк рд╕реЗ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯреЗрдб рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдЯрд╛рдЗрдо (UTC) рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЯрд╛рдЗрдо рдЬрд╝реЛрди рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ тАФ рдирддреАрдЬреЗ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рдЬреИрд╕реЗ рд░рд╣рддреЗ рд╣реИрдВред
рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ
рднрд╡рд┐рд╖реНрдп рдХреА рддрд╛рд░реАрдЦ рдФрд░ рджрд┐рди рдХрд╛ рд╕рдордп рдЪреБрдирд┐рдПред "Reference now" рд╡рд╛рд▓реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝реАрд▓реНрдб рдХреЛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджреЗрдВ рддрд╛рдХрд┐ рдЕрднреА рдХрд╛ рдореМрдЬреВрджрд╛ рдкрд▓ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛ, рдпрд╛ рдХрд┐рд╕реА рддрдп рдмрд┐рдВрджреБ рд╕реЗ рдирд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреЛрдХ-рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рднрд░ рджреЗрдВред рдКрдкрд░ рдХрд╛ рдореБрдЦреНрдп рдЖрдВрдХрдбрд╝рд╛ рдХреБрд▓ рджрд┐рдиреЛрдВ рдХреЛ рджрд╢рдорд▓рд╡ рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ; рдиреАрдЪреЗ рдХреА рдЯреЗрдмрд▓ рдореЗрдВ рджрд┐рди/рдШрдВрдЯреЗ/рдорд┐рдирдЯ/рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдЯреАрдХ рдмреНрд░реЗрдХрдбрд╛рдЙрди рдФрд░ рд╣рд░ рдЕрдХреЗрд▓реА рдЗрдХрд╛рдИ рдореЗрдВ рдХреБрд▓ рдпреЛрдЧ рджрд┐рдЦрддрд╛ рд╣реИред
рдлреЙрд░реНрдореВрд▓рд╛ рдЖрд╕рд╛рди рд╢рдмреНрджреЛрдВ рдореЗрдВ
рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рднрд╡рд┐рд╖реНрдп рдХреА рддрд╛рд░реАрдЦ-рд╕рдордп рдХреЛ рдПрдкреЛрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдорд╛рди рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдореЗрдВ рд╕реЗ "рдЕрднреА" рд╡рд╛рд▓реЗ рдорд╛рди рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИ: $$\Delta t = \text{Future Date} + \text{Future Time} - \text{Now}$$ред рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ 1000, 60000, 36,00,000 рдФрд░ 8,64,00,000 рд╕реЗ рднрд╛рдЧ рджреЗрдиреЗ рдкрд░ рдХреНрд░рдорд╢рдГ рдХреБрд▓ рд╕реЗрдХрдВрдб, рдорд┐рдирдЯ, рдШрдВрдЯреЗ рдФрд░ рджрд┐рди рдорд┐рд▓рддреЗ рд╣реИрдВред рдмреНрд░реЗрдХрдбрд╛рдЙрди рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реЗрдХрдВрдб рдХрд╛ рдкреВрд░реНрдг рдорд╛рди (absolute) рд▓реЗрддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдкреВрд░реЗ рджрд┐рди рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ (├╖86400), рдлрд┐рд░ рдмрдЪреЗ рд╣реБрдП рдШрдВрдЯреЗ (├╖3600), рдорд┐рдирдЯ (├╖60) рдФрд░ рдЖрдЦрд┐рд░ рдореЗрдВ рдмрд╛рдХреА рдмрдЪреЗ рд╕реЗрдХрдВрдбред
$$\begin{gathered} \Delta t = t_{\text{future}} - t_{\text{now}} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} t_{\text{future}} &= \text{Future Date} + \text{Future Time}\ (\text{as UTC ms}) \\ t_{\text{now}} &= \text{Now (epoch ms)} \\ \text{Days} &= \dfrac{\Delta t}{86400000},\quad \text{Hours} = \dfrac{\Delta t}{3600000} \\ \text{Minutes} &= \dfrac{\Delta t}{60000},\quad \text{Seconds} = \dfrac{\Delta t}{1000} \end{aligned} \right. \end{gathered}$$
рд╣рд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг
рдорд╛рди рд▓реАрдЬрд┐рдП рдЕрднреА рдареАрдХ 1970-01-01 рдХреА UTC рдЖрдзреА рд░рд╛рдд рд╣реИ (рдПрдкреЛрдХ 0) рдФрд░ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдкрд▓ 1970-01-02 01:01:01 UTC рд╣реИред рдпрд╣ рд╣реБрдЖ \(1\ \text{рджрд┐рди} + 1\ \text{рдШрдВрдЯрд╛} + 1\ \text{рдорд┐рдирдЯ} + 1\ \text{рд╕реЗрдХрдВрдб}\) = $$86400 + 3600 + 60 + 1 = 90{,}061\ \text{рд╕реЗрдХрдВрдб}$$ рджрд┐рдиреЛрдВ рдореЗрдВ рджреЗрдЦреЗрдВ рддреЛ $$\frac{90061}{86400} \approx 1.0424\ \text{рджрд┐рди}$$ рдФрд░ рдмреНрд░реЗрдХрдбрд╛рдЙрди рд╣реЛрдЧрд╛ 1d 1h 1m 1sред
рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓
рдЕрдЧрд░ рддрд╛рд░реАрдЦ рдмреАрдд рдЪреБрдХреА рд╣реЛ рддреЛ? рдРрд╕реЗ рдореЗрдВ рдХреБрд▓ рдпреЛрдЧ рдЛрдгрд╛рддреНрдордХ (negative) рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдмреНрд░реЗрдХрдбрд╛рдЙрди рдЙрд╕ рдЕрдВрддрд░ рдХрд╛ рдкреВрд░реНрдг рдорд╛рди (absolute) рд╣реА рджрд┐рдЦрд╛рдПрдЧрд╛ред
рдХреНрдпрд╛ рдпрд╣ рд▓реАрдк рд╡рд░реНрд╖ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реИ? рд╣рд╛рдБ тАФ рдПрдкреЛрдХ рд░реВрдкрд╛рдВрддрд░рдг рдХреИрд▓реЗрдВрдбрд░ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рд╕рд╣реА рджрд┐рди рдЧрд┐рдирддреА рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реАрдк рджрд┐рди рдЕрдкрдиреЗ-рдЖрдк рд╕рдВрднрд╛рд▓ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдФрд░ рдбреЗрд▓рд╛рдЗрдЯ рд╕реЗрд╡рд┐рдВрдЧ рдЯрд╛рдЗрдо (DST) рдХрд╛ рдХреНрдпрд╛? рд╕рд╛рд░реА рдЧрдгрдирд╛ UTC рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ DST рд╣реЛрддрд╛ рд╣реА рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп рдмрд┐рд▓реНрдХреБрд▓ рд╕рдЯреАрдХ рд░рд╣рддрд╛ рд╣реИред