Ho bisogno di ottenere il numero di minuti tra due date. So che Joda è il migliore da usare, ma questo è per un progetto Android, quindi preferisco usare un po 'di librerie esterne il più possibile, e l'app che sto costruendo non richiede che il calcolo sia preciso dal punto di vista chirurgico.Differenza, in minuti, tra due date
Tuttavia, il codice che sto utilizzando non sembra funzionare. Sto cercando di ottenere il numero di minuti tra "11/11/2011 7:00:00 AM" e "11/11/2011 1:00:00 PM" (che dovrebbe essere 360 minuti), ma il codice I 'm utilizzando restituisce 0:
int diff = minutesDiff(GetItemDate("11/21/2011 7:00:00 AM"), GetItemDate("11/21/2011 1:00:00 PM"));
public static Date GetItemDate(final String date)
{
final Calendar cal = Calendar.getInstance(TimeZone.getDefault());
final SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a");
format.setCalendar(cal);
try {
return format.parse(date);
} catch (ParseException e) {
return null;
}
}
public static int minutesDiff(Date earlierDate, Date laterDate)
{
if(earlierDate == null || laterDate == null) return 0;
return (int)((laterDate.getTime()/60000) - (earlierDate.getTime()/60000));
}
Lo fa? Non fa per me. Inoltre, perché stai facendo la divisione due volte? –
Funziona perfettamente per me. L'output è -360. – Tyler
Non so perché stai ottenendo zero, ma la stringa di formato è sbagliata. HH è il formato per l'ora tra 0 e 23, ma dal momento che hai anche il carattere di un formato, presumo che tu voglia che l'ora sia compresa tra 1 e 12, e dovresti usare hh. Attualmente, la tua 1:00:00 PM viene analizzata come 1:00:00. – Brigham