[英]Java: How to compare two Times/Dates
我正在這樣從我的記事本(數據庫)中檢索值
strLine = br.readLine().trim();
if ((strLine.length()!=0) && (strLine.charAt(0)!='#')) {
String[] teachers = strLine.split("\\s+");
Interviews interview = new Interviews();
interview.setTime(teachers[4]+" "+ teachers[5]);
在這一點上,我的時間價值是(給調試器)
"2011-9-5 0:00"
我希望將此時間與其他時間進行比較
但是當我嘗試以日期格式解析這些值時
SimpleDateFormat df=new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
Date d1=df.parse(interviewList.get(0).getTime());
它給我錯誤
java.text.ParseException: Unparseable date: "2011-9-5 0:00"
這是我在記事本(數據庫)中使用的格式2011-9-5 0:00
如何將該值與其他時間進行比較
謝謝
這是您要尋找的格式。 它將解析兩位數的月/日yyyy-MM-dd hh:mm
。 請注意, mm
表示分鍾,因此應使用MM
數月。
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
System.out.println(df.parse("2011-9-5 9:00"));
版畫
Mon Sep 05 09:00:00 EDT 2011
使用jdk 1.6對此進行了驗證。 現在,我看不到您在任何地方比較日期。 您可以使用Calendar
的after()和before()方法,也可以在Date上調用getTime()並使用<
或>
(更快)。 這完全取決於您要比較的內容。
這是如何執行此操作的示例:
/**
* Date difference, as minutes (abs)
*/
public class DateDiff {
static SimpleDateFormat df=new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
private String sD1;
private String sD2;
public DateDiff(String sD1, String sD2) {
this.sD1=sD1;
this.sD2=sD2;
}
/**
* Parse date strings in format like: 2005-01-01 22:10:35
*/
public long getDifferenceInMinutes () throws ParseException {
Date d1=df.parse(sD1);
Date d2=df.parse(sD2);
long d1Ms=d1.getTime();
long d2Ms=d2.getTime();
return Math.abs((d1Ms-d2Ms)/60000);
}
/**
***************** MAIN *******************
* @param args
*/
public static void main(String[] args) {
DateDiff dd = new DateDiff("2005-01-01 22:10:35",
"2005-01-01 23:11:35");
try {
long diff=dd.getDifferenceInMinutes();
System.out.println("Time difference (abs): " + diff);
}
catch (ParseException ex) {
ex.printStackTrace();
}
}
}
您的日期應為yyyy-MM-dd hh:mm:ss
格式。
將日期格式化為上述格式后,即可獲取日期對象
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date d1=df.parse(dateToPars);
d1.after(otherDateYouWantTocompare); OR
d1.before(otherDateyouWantToCompare);
Pangea驗證后編輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.