我收到两个字符串,一个带有日期(比如“15-05-13”)和一个时间(比如“10:00”)。
我需要实现的是使用两个字符串创建一个Date对象,这样我就可以检查现在的日期是否为<比两个字符串形成的日期晚15分钟。如何将两个字符串放在同一个Date对象中?简单地连接两个字符串?我没试过,但我打赌它不是那么简单......
谢谢。
答案 0 :(得分:2)
解析每个日期/时间后,只需获得自纪元以来的毫秒数并进行比较
try {
SimpleDateFormat date = new SimpleDateFormat("DD-MM-YY");
SimpleDateFormat time = new SimpleDateFormat("HH:mm");
long dateTime = date.parse("15-05-13").getTime() + time.parse("10:00").getTime();
long mins = 15 * DateUtils.MINUTE_IN_MILLIS;
if(Math.abs(System.currentTimeMillis() - dateTime) < mins) {
//yup
}
}
catch (ParseException e) {
e.printStackTrace();
}
Math.abs将查看目标日期是否在现在(过去和将来)的15分钟内,而不是过去只有15分钟,或者将来切换到dateTime - System.currentTimeMillis()15分钟
答案 1 :(得分:0)
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2013);
c.set(Calendar.MONTH, 5);
c.set(Calendar.DAY_OF_MONTH, 23);
Date date = c.getTime();
继续工作时间。您获得的默认calendar
初始化为now
答案 2 :(得分:0)
此处, c1 包含两个日期。
Date date1 = ; // parse date "15-05-13"
Date date2 = ; // parse date "10:00"
Calendar c1 = Calendar.getInstance().setTime(date1);
Calendar c2 = Calendar.getInstance().setTime(date2);
c1.set(Calendar.HOUR, c2.get(Calendar.HOUR));
c1.set(Calendar.MINUTE, c2.get(Calendar.MINUTE));