java中如何比较两个时间字符串的大小

比如:String str1 = "2010-07-16 12:00:00";String str2 = "2010-07-1512:00:00";
相比较str1 str2的大小或先后,有什么捷径吗?望高手指点。

一种思路:用 SimpleDateFormat 来处理,可以转成long形式的,那是1970年1月1日起到现在的毫秒数。可以直接比大小了。

另外一种思路:因为你这里是用的补全格式(7月写成了07),那么可以直接字面转了比较
public static void main(String[] _s) {
String str1 = "2010-07-16 12:00:00";
long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]",""));
System.out.println(longstr1);
}
这个结果是20100716120000,就这个意思,直接字面转成long形式后比
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-16
如果保证两个字符串格式一样,且都是用上面的形式表示的(即是2010-07-16 13:01:01,而不是2007-7-16 1:1:1),这样,可以直接用字符串比较就可以了:
if (str1.compareTo(str2)>0) {
第一个大于(晚于)第二个
} else {
反过来
}

不然,得用SimpleDateFormat转换成日期型再判断。
第2个回答  2010-07-16
转换成日期型,再比较就OK了
第3个回答  2010-07-16
非常实用
DateTime str1date = new DateTime(str1,DateTime.YEAR_TO_DAY);
DateTime str2date = new DateTime(str2,DateTime.YEAR_TO_DAY);

if (str1date.before(str2date)){
--表示str1date小于str2date
}else{
--反之
}

java中如何比较两个时间字符串的大小
一种思路:用 SimpleDateFormat 来处理,可以转成long形式的,那是1970年1月1日起到现在的毫秒数。可以直接比大小了。另外一种思路:因为你这里是用的补全格式(7月写成了07),那么可以直接字面转了比较 public static void main(String[] _s) { String str1 = "2010-07-16 12:00:00";long l...

java中两个字符串如何比较大小
第一种直接用字符串类的compareTo方法:String t1="20131011"; String t2="20131030"; int result = t1.compareTo(t2);第二种是把这个日期字符串转换成long:SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Date d1 = sdf.parse(t1); Date d2 = sdf.parse(t2); long r...

如何判断java中两个date的大小关系?
1、java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小,compareTo()方法的返回值,date1小于date2返回-1,date1大于date2返回1,相等返回0如下。String beginTime = "2018-07-28 14:42:32";String endTime = "2018-07-29 12:26:32";SimpleDateFormat format =...

java怎么比较两个日期(年和月)的大小
解决方法有很多.我说一种比较简单的.SimpleDateFamort sdf = new SimpleDateFamort("yyyy-MM");Date d1 = sdf.parse("2009-01");Date d2 = sdf.parse("2009-02");System.out.println(d1.getTime() - d2.getTime());明白了吧?

java怎么比较字符串大小?
java的String类中有一个compareTo的方法。public class test { public static void main(String[] args) { String a = "abb"; String b = "abc"; System.out.println(a.compareTo(b)); String a1 = "abc"; String b1 = "abc"; System.out.println(a1.compareTo...

JAVA中字符串的大小比较
一个是按照他那么写比较大小,如果真的想好好验证的话用他的方法 另外一种也比较简单 直接把他们长度取出来 然后比谁大 - -...String str = "大小";int i = str.length();\/\/长度 他的方法是把字符串转为char数组 char[] ch = emid.toCharArray();这样 然后先比较他们长度 就是上面的方法 ...

如何用java代码实现字符串的比较?
如果你希望在比较时忽略大小写,你可以使用equalsIgnoreCase()方法。例如:javapublic class Main { public static void main(String[] args) { String str1 = "Hello";String str2 = "hello";if (str1.equalsIgnoreCase(str2)) { System.out.println("两个字符串在忽略大小写的情况下是相等的")...

java比较两个字符串大小
\/** * 比较两个字符串大小 * * @param paramStr1 * @param paramStr2 * @return true paramStr1 > paramStr2 *\/private boolean compareTwoString(String paramStr1, String paramStr2) {char[] char1s = paramStr1.toCharArray();char[] char2s = paramStr2.toCharArray();\/\/ 获取最...

java怎么比较字符串大小
字符串的大小???比长度可以用String.length()取出长度在比较。比较内容是否相同,可以用String.equals(String),例“123”.equals("123")比较内存地址直接用“==”字符串是数字,用Integer.parseInt(String)Double.parseDouble(String)转换成整数或者其他的来比较 ...

java判断两个字符串一字之差的方法
1、equals()方法是Java中常用的一种字符串比较方法。该方法用于比较两个字符串是否相等,如果两个字符串相等,返回true,否则返回false。2、compareTo()方法是一种比较字符串大小的方法。该方法将两个字符串按照字典顺序比较,如果第一个字符串小于第二个字符串,返回一个负数,如果两个字符串相等,返回...

相似回答