[英]TypeError: an integer is required (got type datetime.datetime) when trying to convert a datetime object within a dictionary to a string
[英]Python - TypeError: an integer is required (got type datetime.datetime)
我有以下代碼:
import datetime
from datetime import datetime as dt
def ceil_dt(dt, delta):
return dt + (dt.min - dt) % delta
NextInterval5m = ceil_dt(now, timedelta(minutes=5))
unixtime5m = dt.fromtimestamp(NextInterval5m)
問題是我不斷收到以下錯誤:
TypeError: an integer is required (got type datetime.datetime)
有人可以幫我解決這個問題嗎? 我不明白我應該轉換NextInterval5m
以使其工作。 我正在嘗試將NextInterval5m
轉換為 Unix 時間戳
您應該能夠通過在datetime.datetime
object 上使用.timestamp()
將其轉換為 unix 時間戳。 However, this function is exclusive to Python 3. If you need something for python 2, you can use .total_seconds()
which requires a datetime.time_delta
object instead.
文檔: https://docs.python.org/3.8/library/datetime.html#datetime.datetime.timestamp
如果您使用的是 python 3.3+,請使用.timestamp()
import datetime
from datetime import datetime as dt
from datetime import timedelta
def ceil_dt(dt, delta):
return dt + (dt.min - dt) % delta
now = dt.now()
NextInterval5m = ceil_dt(now, timedelta(minutes=5))
unixtime5m = NextInterval5m.timestamp()
print(unixtime5m)
Output:
1596926400.0
或者
import datetime
from datetime import datetime as dt
from datetime import timedelta
def ceil_dt(dt, delta):
return dt + (dt.min - dt) % delta
now = dt.now()
NextInterval5m = ceil_dt(now, timedelta(minutes=5))
unixtime5m = NextInterval5m.timestamp()
print((NextInterval5m - datetime.datetime(1970,1,1)).total_seconds())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.