【发布时间】:2016-06-21 23:57:31
【问题描述】:
我正在尝试检查当前时间是否在开始时间和结束时间之间。但我的方法总是返回 false:
来自 = "5:10:00"; to = "10:10:00"
private boolean isTimeBetweenTwoTime(String from, String to) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("H:mm:ss");
Date date_from = formatter.parse(from);
Date date_to = formatter.parse(to);
Time startTime = new Time(date_from.getTime());
Time endTime = new Time(date_to.getTime());
Calendar c = Calendar.getInstance();
Time now = new Time(c.getTimeInMillis());
if (now.before(endTime) && now.after(startTime)) {
Log.d(LOG_TAG, "Yes time between");
return true;
}
return false;
}
【问题讨论】:
-
你试过硬编码
now时间吗? -
当然是
false。仅仅因为java.sql.Time类代表一个时间,并不意味着底层java.util.Date类将丢失其日期信息。所以now是endTime之后的方式,自2016年> 1970年。