Harus ada cara yang lebih mudah untuk melakukan ini. Saya memiliki objek yang ingin di-refresh sesering mungkin, jadi saya ingin merekam ketika mereka dibuat, memeriksa stempel waktu saat ini, dan menyegarkan seperlunya.
datetime.datetime telah terbukti sulit, dan saya tidak ingin masuk ke perpustakaan waktu. Adakah yang lebih mudah untuk hal semacam ini?
(b-a).microseconds
dan kemudian membaginya untuk mendapatkan detik (1000000) atau milidetik (1000)-60
:from datetime import datetime; (datetime(2019, 1, 1, 0, 0) - datetime(2019, 1, 1, 0, 1)).total_seconds()
apakah itu akan berhasil untuk Anda?
sumber
(7 akan menjadi jumlah waktu berapa pun Anda menunggu sedikit di atas)
Saya menemukan datetime.datetime cukup berguna, jadi jika ada skenario rumit atau canggung yang Anda temui, beri tahu kami.
EDIT: Terima kasih kepada @WoLpH untuk menunjukkan bahwa seseorang tidak selalu mencari untuk menyegarkan begitu sering sehingga datetimes akan berdekatan. Dengan menghitung hari-hari di delta, Anda dapat menangani perbedaan cap waktu yang lebih lama:
sumber
d.seconds + d.days * 86400
, itu benar untuk beberapa hari;)a - b
, di manaa
adalah sebelumb
(yaitu, sehingga hasilnya akan negatif):(a - b).seconds == 86282
sementaraa - b == datetime.timedelta(-1, 86276, 627665)
. Metode yang benar, saya percaya, adalah menggunakantimedelta.total_seconds()
... Tapi itu hanya py2.7 +.timedelta.total_seconds()
. Diturunkan sesuai.total_seconds()
adalah fitur 2.7+.Kami memiliki fungsi total_seconds () dengan Python 2.7 Silakan lihat kode di bawah ini untuk python 2.6
sumber
Inilah yang bekerja untuk saya.
Semoga ini membantu!
sumber