Mycroft-core: mycroft.format.nice_duration() рдЖрдЙрдЯрдкреБрдЯ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЕрдЬреАрдм рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рд╕рд┐рддре░ 2019  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: MycroftAI/mycroft-core

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЪреНрдЫрд╛_рдбреНрдпреВрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ 2016 рдХреЗ рдЬреБрд▓рд╛рдИ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдЯрд╛рдЗрдо рдХреЗ рдмрд╛рдж рд╕реЗ рдХрд┐рддрдирд╛ рд╕рдордп рд╣реЛ рдЧрдпрд╛ рд╣реИ, "рдЧреНрдпрд╛рд░рд╣ рдЫрд┐рдпрд╛рд╕рда рджрд┐рди рдкрд╛рдВрдЪ рдШрдВрдЯреЗ рдПрдХ рд╕реЗрдХрдВрдбред"

рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ рд╕реЗ рд╡рд╣ рдкреНрд░рд╢реНрди рдкреВрдЫрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡реЛрд▓реНрдлреНрд░рд╛рдо рдкрд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рджреБрдГрд╕реНрд╡рдкреНрди рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рджрд┐рдиреЛрдВ рд╕реЗ рд╡рд░реНрд╖реЛрдВ рддрдХ рдирд┐рдкрдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реАрдк рд╡рд░реНрд╖ рдФрд░ рд╕рднреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрдо рд╕реЗ рдХрдо рд╕реИрдХрдбрд╝реЛрдВ рддрдХ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: "рдЧреНрдпрд╛рд░рд╣ рд╕реМ рдЫрд┐рдпрд╛рд╕рда рджрд┐рди ..." (рдпрд╛ "рдПрдХ рд╣рдЬрд╛рд░ рдПрдХ рд╕реМ рд╕рд╛рда рдЫрд╣ рджрд┐рди")

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :)

рдпрджрд┐ рдХреЛрдИ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдЗрдЪреНрдЫреБрдХ рд╣реИ рдФрд░ рд▓реАрдк рд╡рд░реНрд╖ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рджрд┐рдирд╛рдВрдХ-рд╕рдордп рдХреМрд╢рд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ:

def is_leap_year(self, year):
    return (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0))

рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ calendar.isleap рдлрд╝рдВрдХреНрд╢рди рднреА рд╣реИ ...

рдорд╛рдирд╡реАрдХрд░рдг рдореЙрдбреНрдпреВрд▓ рднреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...

>>> humanize.naturaldelta(timedelta(minutes=40, hours=360000))
'41 years'

рдЕрдЧрд░ рдХреЛрдИ _is_ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЛрдмрд╛рд░рд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╡рд╣рд╛рдВ рд░рд╣рддреЗ рд╣реБрдП рдЪреАрдЬрд╝ рдХреЛ рд╕рдВрдХрд▓реНрдк рджреЗрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред Mycroft рдХреЗ рд▓рд┐рдП рдпрд╣ рдордиреЛрд░рдВрдЬрдХ рдФрд░ рдЪрд░рд┐рддреНрд░ рдореЗрдВ 100% рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рджрд┐рди рд╕реЗ рдХрд┐рддрдиреЗ рд╕реЗрдХрдВрдб рдкрд╣рд▓реЗ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдбрд░реНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, nice_duration_years() рдпрд╛ nice_duration(dt1, dt2, <str>resolution)

рд╣рд╛рдБ, рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП "рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
nice_duration(<int>seconds, <str>resolution)

рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХреЛрдбрд┐рдВрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдореИрдВ рдПрдХ рд╣рдЬрд╝рд╛рд░ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛!

рдпрджрд┐ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рд╡рд░реНрд╖ рдЯреНрд░рд╛рдЗрдореЗрд╕реНрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдорд╣реАрдиреЗ рдпрд╛ рдЖрджрд┐ "рд▓рдЧрднрдЧ 2 рд╕рд╛рд▓," "рд▓рдЧрднрдЧ 2 рд╕рд╛рд▓," "2 рд╕рд╛рд▓ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ," рдпрд╛ рд╕рд┐рд░реНрдл "2" рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдмрдирд╛рддреЗ рд╣реИрдВред рд╡рд░реНрд╖реЛрдВ"

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЗрдВ рдЗрд╕ рдкрд░ рд╣рдВрдЧрд╛рдорд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЙрддрдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ рдЬрд┐рддрдирд╛ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ред рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдиреЗ рдЕрднреА рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд░рд╛рдд рдХреЗ рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрд░реВрдБрдЧрд╛ред

рд╡рд┐рд▓рдп рдХреЛ рдареАрдХ рдХрд░реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

KathyReid picture KathyReid  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fxdgear picture fxdgear  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AMDphreak picture AMDphreak  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tiagochiavericosta picture tiagochiavericosta  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Ahmed-Benj picture Ahmed-Benj  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ