2013-05-13 40 views
0

我收到两个字符串,一个带有日期(例如“15-05-13”)和一个时间(例如“10:00”)。使用日期和时间生成日期对象

我需要实现的是使用这两个字符串来创建一个Date对象,这样我就可以检查Date对象是否比使用这两个字符串形成的Date对象的日期时间要多出<。如何将两个字符串放在同一个Date对象中?简单地连接两个字符串?我没有尝试过,但我敢打赌它并不那么简单...

谢谢。

回答

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)); 
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(); 

继续小时。您得到的默认calendarnow

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分钟

相关问题