[英]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.