我尝试获取现在和数据的最后一次通话之间的时差,并在网站中进行监控。
我的models.py代码是;
now_diff
但是我还需要{{1}}函数来返回小时差。我已经搜索了互联网,但是找不到任何解决方案,date()对象不会返回小时或分钟。有办法吗?
答案 0 :(得分:0)
问题是因为您正在执行datetime.now.date(),这会松散时间部分,并且您会得到类似datetime.date(2019,2,23)的内容。如果由于需要小时也要保留时间,则删除.date()以便保留时间部分:
template<typename T>
struct point
{
T x, y;
};
template<typename T1, typename T2>
auto operator*(const point<T1>& lhs, const point<T2>& rhs)
-> point<decltype(std::declval<T1>() * std::declval<T2>())>
{
return {lhs.x*rhs.x, lhs.y*rhs.y};
}
template<typename T1, typename T2>
point<T1> operator*(const point<T1>& p, const T2& v)
{
return {p.x*v, p.y*v};
}
template<typename T1, typename T2>
point<T1> operator*(const T2& v, const point<T1>& p)
{
return p * v;
}
这里我使用本地时区。阅读pytz时区,例如pytz.utc以获取UTC时间。
>>> from datetime import datetime
>>> import pytz
>>> from tzlocal import get_localzone
使用.date(),您没有几小时或几分钟的时间
>>> local_tz = get_localzone()
没有.date(),您可以看到小时,分钟,秒和使用率
>>>> datetime.now(local_tz).date()
datetime.date(2019, 2, 25)
答案 1 :(得分:0)
计算时差。您可以编写以下函数:
def now_diff(self):
delta = datetime.now() - self.call_time
return delta.total_seconds() / (60 * 60)
注意:两个日期或时间之间的差返回timedelta对象。