Mycroft-core: Die Ausgabe von mycroft.format.nice_duration() ist über lange Zeiträume umständlich

Erstellt am 10. Sept. 2019  ·  8Kommentare  ·  Quelle: MycroftAI/mycroft-core

Wenn Sie beispielsweise nice_duration verwenden, um zu überprüfen, wie lange es her ist, dass Anfang Juli 2016 eine Datumszeit von "elf sechsundsechzig Tage fünf Stunden eine Sekunde" erzeugt wurde.

Wenn Sie Mycroft nur diese Frage stellen, wird Wolfram weitergeleitet, das die gewünschte Ausgabe erzeugt. Mir ist klar, dass es eine alptraumhafte Aufgabe ist, Tage bis Jahre zu bewältigen, wenn man Schaltjahre und alles berücksichtigt, aber ich denke, es sollten zumindest Hunderte sein: "elfhundertsechsundsechzig Tage ..." Tage")

help wanted

Alle 8 Kommentare

Danke, dass du das gemeldet hast :)

Wenn jemand daran interessiert ist und mit Schaltjahren umgehen möchte, habe ich kürzlich Folgendes im Date-Time-Skill verwendet:

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

Es gibt auch die Funktion calendar.isleap in der Standardbibliothek...

Das Humanize- Modul könnte auch etwas sein, das man sich ansehen sollte ...

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

Wenn jemand diese Funktion umgestalten _ist_, kann es sich lohnen, dem Ding eine Auflösung zu geben, während er dort drin ist. Es ist amüsant und zu 100 % im Charakter von Mycroft, Ihnen zu sagen, wie viele Sekunden seit diesem Tag vor langer Zeit vergangen sind, aber Programmierer könnten es vorziehen, nice_duration_years() oder nice_duration(dt1, dt2, <str>resolution) zu spezifizieren

Ja, ich habe über "Auflösung" für eine Reihe dieser Funktionen nachgedacht, möchte aber keine grundlegenden Änderungen vornehmen. Scheint hier weniger ein Problem zu sein, wenn wir nur einen optionalen Parameter hinzufügen und es immer noch nur eine Zeichenfolge zurückgibt, z.
nice_duration(<int>seconds, <str>resolution)

Da ich das nicht selbst codiere, mache ich tausend Vorschläge!

Wenn diese Funktionen eine Auflösung erhalten, könnten vielleicht Jahre über Trimester laufen, oder bedenken Sie, wie viele Monate usw. den Unterschied zwischen "ungefähr 2 Jahre", "fast 2 Jahre", "etwas mehr als 2 Jahre" oder nur "2" ausmachen Jahre"

Ich habe gerade angefangen, mich im Dolmetscher damit zu beschäftigen, und ich denke, es wird nicht so schwer sein, wie ich dachte. Wenn noch keiner angefangen hat, mache ich das nach dem Abendessen.

Fix zusammengeführt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

fermulator picture fermulator  ·  6Kommentare

AMDphreak picture AMDphreak  ·  10Kommentare

tmajibon picture tmajibon  ·  9Kommentare

WSLUser picture WSLUser  ·  9Kommentare

el-tocino picture el-tocino  ·  4Kommentare