我有一个带有start_time和stop_time的每日事件模型。
class DailyEvent(models.Model):
start_time = models.TimeField()
stop_time = models.TimeField()
例如,如果start_time
是晚上8点且stop_time
是凌晨3点,那么表示stop_time
来自''之后的最佳方法是什么? 39; start_time
?
我的想法是添加此字段以表示第stop_time
代表第二天:
stop_time_next_day = models.BooleanField()
我不想使用DateTimeField,因为我不想使用假的占位符日期,而是更喜欢比DateTimeField更清晰的解决方案。
有更好的方法吗?
答案 0 :(得分:1)
我得出的结论是,让模型暗示stop_time
总是在start_time
之后出现是最好的。
答案 1 :(得分:0)
正如 @Gocht 所说,请使用DateTimeField()
public int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}
public int getNavigationBarHeight()
{
boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();
int resourceId = getResources().getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0 && !hasMenuKey)
{
return getResources().getDimensionPixelSize(resourceId);
}
return 0;
}
例如,
class DailyEvent(models.Model):
start_datetime = models.DateTimeField()
stop_datetime = models.DateTimeField()
应该适用于您的情况。你的方法是什么,即只有当start_datetime = 2015-12-04 20:00:00
stop_datetime = 2015-12-05 03:00:00
出现在第二天时,字段stop_time_next_day
才会有用,如果stop_time
超过1天,将失败。
<强>更新强>
日期时间应该是最佳方式。
您可以在模型中编写方法,以便快速操作。或者您可以覆盖保存方法。
stop_time