两个字符串 String型的"2010-01-05 22:22:21" ,"2010-01-05 22:22:23"
两者相比,如果之间差超过3秒,返回false,否则 true
求程序~
[code="java"]
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
/**
*/
public class CompareTime {
/** 时间格式 */
private static String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
/**
}
[/code]
直接对时间进行操作是最好的办法。
[code="java"]Date a,b;
a = new Date();
b = new Date();
if((b.getTime() - a.getTime()) > 3 ){
return false;
}
else {
return true;
}
[/code]
[code="java"]String date1 = "2010-01-05 22:22:21";
String date2 = "2010-01-05 22:22:23";
SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy-MM-dd hh24:mm:ss");
try {
a=simpledateformat.parse(date1);
b=simpledateformat.parse(date2);
} catch (Exception e) {
// TODO: handle exception
}[/code]
注意一定加try块。然后你在把时间进行比较就好了。
[code="java"]
public static void main(String[] args) {
String a = "2010-01-05 22:22:21"
String b = "2010-01-05 22:22:23"
return Math.abs(getTime(a) - getTime(b)) < 3
}
public long getTime (String time) {
return java.sql.Timestamp.valueOf(time).getTime();
}
[/code]
[code="java"]public static boolean compare(String str1, String str2) throws ParseException {
Date date1 = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss").parse(str1);
Date date2 = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss").parse(str2);
return Math.abs(date1.getTime() - date2.getTime()) < 3000;
}[/code]
[code="java"]String a="2010-01-05 22:22:21";
DateFormat format= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date d=format.parse(a);
System.out.println(d.getTime());[/code]
大写的HH是24小时, hh是12小时,继续修改吧。。哈哈,
我是忘记了毫秒
[quote]大写的HH是24小时, hh是12小时,继续修改吧。。哈哈,
我是忘记了毫秒[/quote]
parse 时,即使用的是 hh ,也能将 24 小的制的时间字符串正常转换成时间。
format 时 HH 和 hh 才有区别。