yyyyMMdd格式的日期字符串比较

Ji秋风 2007-11-09 05:02:30
yyyyMMdd格式的日期字符串比较

String s1 = "20070301";
String s2 = "20071123";

if (s1.compareTo(s2) < 1) {
// 日期 s1 小于 s2,这样判断可行吗?
}
...全文
492 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zepto16 2007-11-11
  • 打赏
  • 举报
回复
楼上的好!
lihaifeng0412 2007-11-11
  • 打赏
  • 举报
回复
都不错啊
Leonhe2022 2007-11-10
  • 打赏
  • 举报
回复

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);
}

}
rorey_008 2007-11-10
  • 打赏
  • 举报
回复
楼上几位说的对,先转换成StringBuffer后再处理
rorey_008 2007-11-10
  • 打赏
  • 举报
回复
楼上几位说的当然对,可以转化成Calendar使用compareTo()方法比较;
但是下面的代码也是对的啊,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,这样判断可行吗?
}
ftgreat 2007-11-09
  • 打赏
  • 举报
回复
3楼的好
cursor_wang 2007-11-09
  • 打赏
  • 举报
回复
也可以把上面的strDate用long time1=strDate1.getTime();long time2=strDate2.getTime();//自1970年1月1日起到这个日期的毫秒数.把得到的数time1和time2减一下就可以判断了.
dracularking 2007-11-09
  • 打赏
  • 举报
回复

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
*/
sharpyuce 2007-11-09
  • 打赏
  • 举报
回复
不行必须!
转成Calendar才能使用compareTo()方法比较
FAT0708 2007-11-09
  • 打赏
  • 举报
回复
转成Calendar在判断。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧