我需要得到两个日期之间的分钟数。我知道Joda是最好用的,但是这是针对Android项目的,所以我更喜欢尽可能使用一些外部库,并且我正在构建的应用程序不需要通过手术精确计算。两分钟之间的差异
但是,我使用的代码似乎没有工作。我试图获得“11/21/2011 7:00:00 AM”和“11/21/2011 1:00:00 PM”(应该是360分钟)之间的分钟数,但代码I正在使用退货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));
}
它呢?它不适合我。另外,你为什么要分两次? –
它对我来说工作得很好。输出是-360。 – Tyler
我不知道为什么你得到零,但你的格式字符串是错误的。 HH是0到23之间的小时格式,但既然你也有一个格式字符,我假设你希望小时在1到12之间,你应该使用hh。目前,您的1:00:00 PM正在被解析为1:00:00 AM。 – Brigham