我有這個功能,將時間戳轉換爲一個日期時間對象,說什麼; 「今天下午10:56」或「昨天上午1:06」或其他人...時間戳到長日期時間
我目前遇到了一些問題。
otherdate = 1504246379
now = time.time()
if otherdate:
dt = now - otherdate
offset = dt.seconds + (dt.days * 60 * 60 * 24)
if offset:
delta_s = offset % 60
offset /= 60
delta_m = offset % 60
offset /= 60
delta_h = offset % 24
offset /= 24
delta_d = offset
else:
raise ValueError("Must supply otherdate or offset (from now)")
if delta_d > 1:
if delta_d > 6:
date = now + timedelta(days=-delta_d, hours=-delta_h, minutes=-delta_m)
return date.strftime('%A, %Y %B %m, %H:%I')
else:
wday = now + timedelta(days=-delta_d)
return wday.strftime('%A')
if delta_d == 1:
return "Yesterday"
if delta_h > 0:
return "%dh%dm ago" % (delta_h, delta_m)
if delta_m > 0:
return "%dm%ds ago" % (delta_m, delta_s)
else:
return "%ds ago" % delta_s
我收到的當前錯誤是:
Traceback (most recent call last):
File "test.py", line 69, in <module>
date = get_long_date(timestamp)
File "test.py", line 40, in get_long_date
offset = dt.seconds + (dt.days * 60 * 60 * 24)
AttributeError: 'float' object has no attribute 'seconds'
所以我去了補充:
dt = timedelta(dt)
和清除錯誤,但是如果我打印delta_d(天偏移)它的負數......有人能幫我完成我的功能嗎?
謝謝
丹尼斯·安格爾
你真的需要自己實現解析日期時間功能還是可以使用其他庫?我建議你儘可能地實施自己,因爲如果你想以正確的方式做到這一點,那並不是那麼簡單。 – alphiii
問題不大,你有推薦的圖書館嗎?一個會給我一個基於偏移時間的輸出? –
什麼單位是'otherdate = 1504246379',幾秒鐘? –