Mycroft-core: output mycroft.format.nice_duration() canggung dalam waktu lama

Dibuat pada 10 Sep 2019  ·  8Komentar  ·  Sumber: MycroftAI/mycroft-core

Misalnya, menggunakan nice_duration untuk memeriksa berapa lama sejak datetime pada awal Juli 2016 diproduksi, "sebelas enam puluh enam hari lima jam satu detik."

Jika Anda hanya menanyakan pertanyaan itu kepada Mycroft, itu akan mengarah ke Wolfram, yang menghasilkan output yang diinginkan. Saya menyadari bahwa itu adalah tugas mimpi buruk yang mencoba menangani hari ke tahun, mengingat tahun kabisat dan sebagainya, tetapi saya rasa itu setidaknya harus pindah ke ratusan: "sebelas ratus enam puluh enam hari ..." (atau "seribu seratus enam puluh enam hari")

help wanted

Semua 8 komentar

Terima kasih telah melaporkan ini :)

Jika ada yang tertarik untuk mengatasinya dan ingin menangani tahun kabisat, saya menggunakan yang berikut ini dalam Keterampilan Tanggal-Waktu baru-baru ini:

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

Ada juga fungsi calendar.isleap di perpustakaan standar...

Modul memanusiakan mungkin sesuatu untuk dilihat juga ...

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

Jika seseorang _is_ akan melakukan refactor fungsi ini, mungkin ada baiknya memberikan resolusi hal tersebut saat mereka berada di sana. Sangat lucu dan karakternya 100% untuk Mycroft untuk memberi tahu Anda berapa detik telah berlalu sejak hari itu, tetapi pembuat kode mungkin lebih suka menentukan, nice_duration_years() atau nice_duration(dt1, dt2, <str>resolution)

Ya, saya sudah memikirkan "resolusi" untuk sejumlah fungsi ini tetapi tidak ingin membuat perubahan yang merusak. Sepertinya itu bisa menjadi kurang dari masalah di sini jika kita hanya menambahkan parameter opsional dan masih hanya mengembalikan string, misalnya:
nice_duration(<int>seconds, <str>resolution)

Karena saya tidak mengkodekan ini sendiri, saya akan membuat seribu saran!

Jika fungsi-fungsi ini mendapatkan resolusi, mungkin tahun dapat beroperasi selama trimester, atau mempertimbangkan berapa bulan atau dll. membuat perbedaan antara "sekitar 2 tahun", "hampir 2 tahun", "sedikit lebih dari 2 tahun", atau hanya "2 bertahun-tahun"

Saya baru saja mulai mempermasalahkan ini di penerjemah, dan saya tidak berpikir itu akan sesulit yang saya kira. Jika belum ada orang lain yang memulai, saya akan melakukannya setelah makan malam.

Perbaiki digabungkan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat