2011-05-10 15 views
7

Tengo dos valores de tiempo. uno para el tiempo de inicio de sesión anterior y otro para el tiempo de inicio de sesión actual. Tengo que aumentar el tiempo de inicio de sesión anterior en una hora. He usado el formato de fecha hh: mm: ss. Este es mi fragmento de código.Cómo aumentar el tiempo en 1 hora

Date previous_time, current_time; 

    if(previous_time.before(current_time)){ 
    Log.i("Time Comparision"," true"); 
} 

así que en vez de lo anterior si la condición, tengo que añadir una hora a la previous_time y hacer la condición if. ¿Cómo lograr esto?

Respuesta

24
Calendar calendar = Calendar.getInstance(); 
    calendar.setTime(previous_time); 
    calendar.add(Calendar.HOUR, 1); 
    previous_time = calendar.getTime(); 
    // do your comparison 
+0

siento decir que mi amigo. Este código actualiza la hora, pero cambia totalmente mi formato de fecha. Solo quiero el tiempo en el formato "hh: mm: ss". –

+5

@Andro_Selva - El formateo y la manipulación real de la fecha son dos tareas independientes. Mire [DateFormat] (http://download.oracle.com/javase/6/docs/api/java/text/DateFormat.html) y/o [SimpleDateFormat] (http://download.oracle.com/javase) /6/docs/api/java/text/SimpleDateFormat.html). –

+0

Luego puede usar SimpleDateFormat para obtener el formato deseado. En su caso, "new SimpleDateFormat (" hh: mm: ss "). Format (previous_time)", después de la última línea de planetjones. – dunni

1

Por favor, intente este código.

SimpleDateFormat sdf = new SimpleDateFormat("h:mm a"); 
    Date date = Utils.getBookingDate(mBooking.ToTime); 
    Calendar calendarAdd = Calendar.getInstance(); 
    calendarAdd.setTime(date); 
    calendarAdd.add(Calendar.HOUR, 1); 
    toTime = sdf.format(calendarAdd.getTime()); 
    tv_Totime.setText(toTime); 

cuando la corriente formato de cadena de tiempo dentro de complemento 1 hora

Cuestiones relacionadas