【发布时间】:2013-11-18 12:43:36
【问题描述】:
public static final String inputFormat = "HH:mm";
private Date date;
private Date dateCompareOne;
private Date dateCompareTwo;
LINE 5:
private String compareStringOne = String.valueOf(SetTimeActivity.intFromTimeH)+ ":"+ String.valueOf(SetTimeActivity.intFromTimeM) ;
LINE 6:
private String compareStringTwo = String.valueOf(SetTimeActivity.intToTimeH) + ":"+ String.valueOf(SetTimeActivity.intToTimeM);
SimpleDateFormat inputParser = new SimpleDateFormat(inputFormat, Locale.US);
private void compareDates()
{
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute = now.get(Calendar.MINUTE);
date = parseDate(hour + ":" + minute);
dateCompareOne = parseDate(compareStringOne);
dateCompareTwo = parseDate(compareStringTwo);
if (!(dateCompareOne.before( date ) && dateCompareTwo.after(date))) {
....
我正在尝试检查当前时间是否在指定时间之间。为此,我首先将指定时间转换为字符串(在 Line5 和 Line6 中)。即使我得到正确的整数值,形成的字符串总是显示“0:0”。 此外,年份显示为 1970 年(显示的日期和日期也是错误的)。 我需要获取当前时间。我做错了什么?
private Date parseDate(String date) {
try {
return inputParser.parse(date);
} catch (java.text.ParseException e) {
return new Date(0);
}
}
【问题讨论】:
-
确保日期和时间设置正确。为了让生活更轻松,请查看以下库。 joda.org/joda-time也许这可以帮助你让事情变得更容易