yyyyMMdd格式的日期字符串比较String s1 = "20070301";
String s2 = "20071123";if (s1.compareTo(s2) < 1) {
// 日期 s1 小于 s2,这样判断可行吗?
}
String s2 = "20071123";if (s1.compareTo(s2) < 1) {
// 日期 s1 小于 s2,这样判断可行吗?
}
解决方案 »
- myeclipse中编写Javascript代码问题。。。
- 多线程问题:notify()后线程不是每次都会执行
- 有关JAVA class文件在UNIX下取得文件相对路径的问题
- 这里的arg[]表示什么,如果用JBuilder怎么表示
- 请教一个简单错误
- ~~~~~~~~~~~~~~~简单问题,一句话就能回来,快来抢分啊~~~~~~~~~~~~~~~
- 正则表达式里的.不能匹配换行符,怎样解决?
- 重金悬赏,各位大虾一定要帮个忙呀,------------在线等待
- oracle数据库建表缺失关键字 高手帮我看看
- JAVA的swtch坑。。。
- SWT 的文字拖动实现 DragSource 和DropTarget 实现问题
- 求教算法:将1至100一百个随机自然数,放入数组a中。用JAVA实现获取当中重复次数最多,而且数是最大的一个,并打印出来。
转成Calendar才能使用compareTo()方法比较
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Test {
public static void main(String[] arg) { String s1 = "20070301";
String s2 = "20071123"; SimpleDateFormat simpleDateFormatter = new SimpleDateFormat("yyyyMMdd");
Date strDate1 = null, strDate2 = null;
try {
strDate1 = simpleDateFormatter.parse(s1);
strDate2 = simpleDateFormatter.parse(s2);
}
catch (ParseException e) {
e.printStackTrace();
}
System.out.println(strDate1.compareTo(strDate2));
}
}
/*
-1
*/
但是下面的代码也是对的啊,String类可以比较两个字符串的: String str1 = "20071011";
String str2 = "20071013";
System.out.println(str1.compareTo(str2));这段代码的输出是个负数;如果相等,输出为0,如果str1大于str2,输出是个正数,所以楼主的代码if (s1.compareTo(s2) < 1) {
// 日期 s1 小于 s2,这样判断可行吗?
}改为if (s1.compareTo(s2) < 0) {
// 日期 s1 小于 s2,这样判断可行吗?
}
public class Test {
/**
* 如果d1>d2返回true,反之false
* @param d1
* @param d2
* @return
*/
public static boolean dateComp(String d1, String d2) {
int date1 = Integer.parseInt(d1);
int date2 = Integer.parseInt(d2);
return (date1 - date2) > 0;
} public static void main(String[] args) {
String s1 = "20070301";
String s2 = "20071123";
if (dateComp(s1, s2)) {
System.out.println(s1 + " 大于 " + s2);
} else
System.out.println(s1 + " 小于 " + s2);
}}