请教:日期运算

lwwwp 2002-11-29 12:47:22
首先是两个文本:
String datestr1="2002/03/01";
String datestr2="2003/01/01";

运算:
这两个文本格式所描述的两个日期,之间相差多少个月

多谢!
...全文
42 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
binriyue 2002-11-29
  • 打赏
  • 举报
回复
以下是实现了一天的功能
java.sql.Timestamp time = java.sql.Timestamp.valueof("2002-06-24 10:23:46.000");
java.util.Date date = new java.util.Date(time.getTime() + 1000 * 60 * 60 * 24);
String str = date.tostring();
lwwwp 2002-11-29
  • 打赏
  • 举报
回复
哈哈,兄弟,不要人身攻击!

我已经搞定了,不过几位的思路都对我有所帮助,3ku
rex0y 2002-11-29
  • 打赏
  • 举报
回复
jery_lee(U2-G2000 你个白痴
人家问你几个月 不是   later  啊 before 之类地
jery_lee 2002-11-29
  • 打赏
  • 举报
回复
import java.util.*;
import java.text.*;
import java.lang.*;
class check
{
public static void main(String[] args)
{
Calendar cdt1 = Calendar.getInstance();
Calendar cdt2 = Calendar.getInstance();
cdt1.set(2002,3,1);
cdt2.set(2003,1,1);
if (cdt1.before(cdt2)) {
System.out.println("before");
}
else {
System.out.println("later");
}
}
}
jery_lee 2002-11-29
  • 打赏
  • 举报
回复
import java.util.*;
import java.text.*;
import java.lang.*;
class CalendarDate
{
public static void main(String[] args)
{
try{
String datestr1="2002/03/01";
String datestr2="2003/01/01";
datestr1 = datestr1.replace("/".charAt(0),"-".charAt(0));
datestr2 = datestr2.replace("/".charAt(0),"-".charAt(0));
Date dt1 = DateFormat.getDateInstance().parse(datestr1);
Date dt2 = DateFormat.getDateInstance().parse(datestr2);
if (dt1.before(dt2)){
System.out.println("before");
}
else {
System.out.println("later");
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
lwwwp 2002-11-29
  • 打赏
  • 举报
回复
我想干脆:

1.提出文本:2002、03、2003、01
2.转换为数值后:(2003-2002)*12+(01-03)

怎么样?
希偌 2002-11-29
  • 打赏
  • 举报
回复
String datestr1="20020301";
String datestr2="20030101";
java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyyMMdd");
java.util.Date d1=df.parse(datestr1);
java.util.Date d2=df.parse(datestr2);
System.out.print((d2.getYear()-d1.getYear())*12+d2.getMonth()-d1.getMonth());
希偌 2002-11-29
  • 打赏
  • 举报
回复
String datestr1="20020301";
String datestr2="20030101";
java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyyMMdd");
java.util.Date d1=df.parse(datestr1);
java.util.Date d2=df.parse(datestr2);
System.out.print(d1.getMonth()-d2.getMonth());
binriyue 2002-11-29
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1159/1159481.xml?temp=.8083002

81,092

社区成员

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

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