私はdatetimeに変換する日付の文字列を持っており、この日付(utc)とutcの現在時刻の時間差を表示したい。すなわち、 1日後と5時間後の場合は「01:05:00」と印刷します。 6分先であれば、 "00:00:06"と印刷してください。日付が過去の場合は、 " - 00:00:06"のように " - "を付加します。Pythonの日付と時刻の差が00:00:00となるように出力する
これまでのところ、2日前の場合は「0:0:27」、27分後には「-2:-5:-46」のようなものが表示されます。私は毎回、xx:xx:xxの一貫した書式設定をしたいと思います。私は多くの質問を見てきましたが、もし私がrelativedeltaを使う必要があるのか、datetime.timedeltaだけ使う必要があるのかは分かりません。助言がありますか?
for ticket in json.loads(data):
ticket_rdate = ticket["time_string"]
if ticket_rdate:
ticket_rdate = datetime.datetime.strptime(ticket_rdate, "%Y-%m-%d %H:%M:%S")
difference = relativedelta(datetime.datetime.utcnow(), ticket_rdate)
ticket["time_until"] = str(difference.days * -1) + ":" + str(difference.hours * -1) + ":" + str(difference.minutes * -1) + ""
sorted_tickets.append(ticket)
return sorted_tickets
あなたはちょうどあなたが一貫した形式で出力が得られます
difference = (datetime.datetime.utcnow() - ticket_rdate)
str(difference)
を行う場合、これは、Pythonで3
私は、「1日5時間」ではなく「1時間5分」と言う意味で「01:05:00」と読みません。また、いくつかの(NASA?)は将来の時間( "カウントダウンTマイナス10秒...")のために " - "を使用することに注意してください。 –